博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle创建日历表,并写入数据
阅读量:393 次
发布时间:2019-03-05

本文共 1450 字,大约阅读时间需要 4 分钟。

创建日历表,并写入数据

-- 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_week   from(select to_date('20170101','yyyymmdd') + level - 1 as everyDay from dual  connect 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 tdate      from dual    connect 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

转载地址:http://xrdzz.baihongyu.com/

你可能感兴趣的文章