1. 程式人生 > >Oracle 生成工作日曆表

Oracle 生成工作日曆表

select to_char(everyDay, 'yyyy-mm-dd') as dt,
       to_char(everyday, 'yyyy') as yr,
       to_char(everyday, 'mm') as mm,
       to_char(everyday, 'dd') as dd,
       to_char(everyday, 'dy') as dayofweek,
       /*ORACLE自定義的標準周*/
       to_char(everyday, 'WW') as weeknum,
       /*該月的第幾周*/
       lpad(to_char(everyday, 
'w'), 6) as monthOfWeek, /*所在季度*/ to_char(everyday, 'Q') as qr, /*ISO的標準周,通常使用這個*/ to_char(everyday, 'IW') as bourse_week, null as id from (select to_date('20190101', 'yyyymmdd') + level - 1 as everyDay from dual connect by level <= (last_day(to_date('
20191201', 'yyyymmdd')) - to_date('20190101', 'yyyymmdd') + 1));

結果圖:

 替換sql語句中的年份即可生成當年的資料。