AI智能
改变未来

oracle创建日历表,并写入数据

创建日历表,并写入数据

-- Create tablecreate table tdate(DT          DATE not null,YEAR        number(4),MONTH      VARCHAR2(4),DAY         VARCHAR2(4),WEEK         VARCHAR2(10),WEEKNUM         VARCHAR2(4),XQ   number(2),QR    number(2),bourse_week  VARCHAR2(4));insert into tdate t (  t.dt,t.year,t.month,t.day,t.week,t.weeknum,t.xq,t.qr,t.bourse_week)select trunc(everyDay) 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,\'d\') XQ,to_char(everyday,\'Q\') as qr,/*ISO的标准周,通常使用这个*/to_char(everyday,\'IW\') as bourse_weekfrom(select to_date(\'20170101\',\'yyyymmdd\') + level - 1 as everyDay from dualconnect by level <=(last_day(to_date(\'20220101\',\'yyyymmdd\')) - to_date(\'20170101\',\'yyyymmdd\') +1));SELECT * FROM (with x as(select add_months(trunc(sysdate, \'y\'), -12) + level - 1 tdatefrom dualconnect by level <=add_months(trunc(sysdate, \'y\'), 12) - trunc(sysdate, \'y\'))select tdate, to_char(tdate, \'day\'),rownum rn from x where to_char(tdate, \'day\') =\'星期五\'   )where    rn=20
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » oracle创建日历表,并写入数据