select *
from (select a.r,
a.月,
case
when a.周 = '52' and a.月 = '01' then
'00'
else
a.周
end 周,
row_number() over(partition by a.月 order by a.i) w
from (select level,
trunc(sysdate, 'yyyy') + level - 1 i,
to_char(trunc(sysdate, 'yyyy') + level - 1, 'day') r, --星期几
to_char(trunc(sysdate, 'yyyy') + level - 1, 'iw') 周, --周
to_char(trunc(sysdate, 'yyyy') + level - 1, 'mm') 月 --月份
from dual
connect by rownum <= 365) a)
pivot(sum(w)
for r in('星期一' 一,
'星期二' 二,
'星期三' 三,
'星期四' 四,
'星期五' 五,
'星期六' 六,
'星期日' 日))
order by 月, 周;
关于本月日历orcale 进阶,生成一年的日历
最新推荐文章于 2024-10-01 18:51:18 发布