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

博客主要讲述了创建日历表,并向其中写入数据的相关内容,涉及数据库操作方面的信息技术知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建日历表,并写入数据

 -- Create table
create 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值