(Oracle)取当前日期的最近工作日
描述:现有一需求,日期表中存放了日期和是否节假日(0-工作日,1-节假日),现在需要取日期表中的最近的工作日。如2017/07/23(周日)最近的工作日应该是2017/07/21(周五)。
DATE_D IS_HOLIDAY
1 2017/7/17 0
2 2017/7/18 0
3 2017/7/19 0
4 2017/7/20 0
5 2017/7/21 0
6 2017/7/22 1
7 2017/7/23 1
8 2017/7/24 0
9 2017/7/25 0
1 2017/7/17 0
2 2017/7/18 0
3 2017/7/19 0
4 2017/7/20 0
5 2017/7/21 0
6 2017/7/22 1
7 2017/7/23 1
8 2017/7/24 0
9 2017/7/25 0
select t1.date_d,max(t2.date_d) from table_a t1 left join table_a t2 on (t1.date_d >= t2.date_d and t2.is_holiday='0') group by t1.date_d order by t1.date_d
结果:
DATE_D MAX(T2.DATE_D)
1 2017/7/17 2017/7/17
2 2017/7/18 2017/7/18
3 2017/7/19 2017/7/19
4 2017/7/20 2017/7/20
5 2017/7/21 2017/7/21
6 2017/7/22 2017/7/21
7 2017/7/23 2017/7/21
2 2017/7/18 2017/7/18
3 2017/7/19 2017/7/19
4 2017/7/20 2017/7/20
5 2017/7/21 2017/7/21
6 2017/7/22 2017/7/21
7 2017/7/23 2017/7/21
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C#多线程编程精要:从用户线程到线程池的效能进化论
· 如何反向绘制出 .NET程序 异步方法调用栈
· 领域驱动设计实战:聚合根设计与领域模型实现
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· 如何把ASP.NET Core WebApi打造成Mcp Server
· C#开发的Panel滚动分页控件 - 开源研究系列文章
· 如何反向绘制出 .NET程序 异步方法调用栈
· ShadowSql之开源不易
· Java 原生异步编程与Spring 异步编程 详解
· 上周热点回顾(5.5-5.11)