在oracle里有这样一个函数next_day可以得到下一个日子的日期,
例如:NEXT_DAY(TRUNC(SYSDATE),'SATURDAY')可以得到下个星期六的日期,你可以利用这个函数从上一年的12月31号起寻找下一个星期六的日期,然后循环再下一周,知道日期大于本年的12月31日就把全年的星期六都找出来了。
例如:NEXT_DAY(TRUNC(SYSDATE),'SATURDAY')可以得到下个星期六的日期,你可以利用这个函数从上一年的12月31号起寻找下一个星期六的日期,然后循环再下一周,知道日期大于本年的12月31日就把全年的星期六都找出来了。
(select rownum r,trunc(sysdate,'ww')+rownum - 2 mydate
from user_tables
where rownum<=7)
where r = 7
order by mydate desc;
select trunc(sysdate,'d')+6 from dual;
trunc(date,'d')表示周一,周末函数用 trunc(date,'d')+6 就行了,OK?
DATEPART(weekday,date) = 6