select 一, 二, 三, 四, 五, 六, 日
from (select level days,
to_char(trunc(sysdate, 'mm') - 1 + level, 'day') week,
to_char(trunc(sysdate, 'mm') - 1 + level, 'iw') weeknum
from dual
connect by level <= to_number(to_char(last_day(sysdate), 'dd')))
pivot(sum(days)
for week in('星期一' 一,
'星期二' 二,
'星期三' 三,
'星期四' 四,
'星期五' 五,
'星期六' 六,
'星期日' 日))
order by weeknum;