码迷,mamicode.com
首页 > 数据库 > 详细

Oracle取当前日期的最近工作日

时间:2017-07-21 17:51:04      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:order by   tab   当前日期   acl   需求   描述   rom   ble   order   

  描述:现有一需求,日期表中存放了日期和是否节假日(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
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

Oracle取当前日期的最近工作日

标签:order by   tab   当前日期   acl   需求   描述   rom   ble   order   

原文地址:http://www.cnblogs.com/littlewu/p/7218871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!