甲骨文 - 如何获得今年的第一个星期一?

gpa*_*gpa 1 sql oracle

如何获得今年的第一个星期一?

select TRUNC(date'2015-01-01','YYYY')
      ,NEXT_DAY(TRUNC(date'2015-01-01','YEAR')+1,'MONDAY')
from dual;

01-JAN-2015 05-JAN-2015
Run Code Online (Sandbox Code Playgroud)

Ale*_*ole 7

考虑到从星期一开始的一年的可能性,你需要回到上一年的最后一天,然后才能进入下一个星期一; 当年:

next_day(trunc(sysdate, 'YYYY') - 1, 'Monday')
Run Code Online (Sandbox Code Playgroud)

SQL小提琴演示.这使得2007年的第一个星期一为1月1日; 没有-1调整它会说第8.