Oracle:如果提供任何日期,则查询以获取一周的最后一个星期五

时间:2019-03-14 07:54:45

标签: sql oracle

如果我给出一个日期,比如说“ 13-Mar-2019”,则我的查询需要检索值“ 15-Mar-2019”。这是一周的最后一个星期五。

4 个答案:

答案 0 :(得分:1)

将日期转换为ISO星期,这将使您获得星期的星期一(因为ISO星期从星期一开始)。然后添加四天:

sudo docker run --privileged fg -v /home/pi:/pi

答案 1 :(得分:0)

尝试以下-

select trunc(to_date('13-Mar-2019'), 'iw') + 4 from dual

答案 2 :(得分:0)

SELECT NEXT_DAY( to_date('2019-03-13', 'yyyy-mm-dd'), to_char(to_date('2019-03-01', 'yyyy-mm-dd'), 'DAY')) FROM dual;

demo

答案 3 :(得分:0)

我会使用next_day()。这是专门为此目的设计的Oracle功能。

Employee2

唯一的区别是,如果日期是星期五,则它将返回下一个星期五。那可能就是你想要的。否则,只需减去一天:

select next_day(date '2019-03-13', 'Fri')
from dual;