select week,
min((case when weekday='1' then day else null end)) "星期日",
min((case when weekday='2' then day else null end)) "星期一",
min((case when weekday='3' then day else null end)) "星期二",
min((case when weekday='4' then day else null end)) "星期三",
min((case when weekday='5' then day else null end)) "星期四",
min((case when weekday='6' then day else null end)) "星期五",
min((case when weekday='7' then day else null end)) "星期六"
from (select day,
decode(sign(rn-weekday),-1,week,week+1) week,weekday
from (SELECT to_date(day,'yyyy-mm-dd') day,
to_char(to_date(day,'yyyy-mm-dd'),'d') weekday,
to_char(to_date(day,'yyyy-mm-dd'),'w') week,
row_number() over(partition by to_char(to_date(day,'yyyy-mm-dd'),'w')order by day) rn
from (SELECT to_char(add_months(last_day(sysdate), -1)+1,'yyyymmdd') + level -1 day
FROM dual
connect by level<= to_char(last_day(sysdate),'yyyymmdd')-to_char(add_months(last_day(sysdate), -1)+1,'yyyymmdd')+1
) ) )
GROUP BY week
ORDER BY week;
oracle 本月日历
最新推荐文章于 2024-04-17 21:51:19 发布