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

时间:2015-01-21 18:35:05

标签: 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

2 个答案:

答案 0 :(得分:7)

考虑到从星期一开始的一年的可能性,你需要回到前一年的最后一天,然后才能到达下周一;今年:

next_day(trunc(sysdate, 'YYYY') - 1, 'Monday')

SQL Fiddle demo。这使得2007年的第一个星期一为1月1日;没有-1调整it would say the 8th

答案 1 :(得分:0)

试试这个:

select next_day(round(sysdate,'yyyy'),'mon') from dual;