ORACLE自动生成当年日历

--时间维度表:

select to_char(everyDay, 'yyyymmdd') as id, --维度表主键ID
to_char(everyDay, 'yyyy-mm-dd') as day, --日期
to_char(everyday, 'yyyy') as year, --年
to_char(everyday, 'mm') as month, --月
to_char(everyday, 'dd') as dd, --日
to_char(everyday, 'dy') as dayofweek, --星期
to_char(everyday, 'WW') as week, --周
lpad(to_char(everyday,'w'),6) as monthOfWeek, --当月第几周
to_char(everyday, 'Q') as qr, --季度
to_char(everyday, 'IW') as bourse_week --ISO的标准周,通常使用这个
from (select to_date(to_char(sysdate, 'yyyy') || '0101', 'yyyymmdd') +level - 1 as everyDay
from dual
connect by level <=(last_day(to_date(to_char(sysdate, 'yyyy') || '1201','yyyymmdd')) -to_date(to_date(to_char(sysdate, 'yyyy') || '0101','yyyymmdd')) + 1));

posted @ 2018-12-21 09:43  方园几里  Views(931)  Comments(0)    收藏  举报