Oracle之一份标准日历表的构建

select TO_NUMBER(to_char(everyDay,'yyyymmdd')) as ID,
       everyDay as CODE,
       to_char(everyday,'yyyy')||'年'||TO_NUMBER(to_char(everyday,'mm'))||'月'||TO_NUMBER(to_char(everyday,'dd'))||'日' AS NAME,
   TO_NUMBER(to_char(everyday,'yyyy')) as YEAR_ID,
   to_char(everyday,'yyyy')||'年' as YEAR_NAME,
   CASE WHEN TO_NUMBER(to_char(everyday,'mm'))<=6 THEN 1 ELSE 2 END AS SEMESTER_ID,
   CASE WHEN TO_NUMBER(to_char(everyday,'mm'))<=6 THEN '上半年' ELSE '下半年' END AS SEMESTER_NAME,
   CASE WHEN TO_NUMBER(to_char(everyday,'mm'))<=3 THEN 1
     WHEN TO_NUMBER(to_char(everyday,'mm'))<=6 THEN 2
       WHEN TO_NUMBER(to_char(everyday,'mm'))<=9 THEN 3
         ELSE 4 END AS QUARTER_ID,
   CASE WHEN TO_NUMBER(to_char(everyday,'mm'))<=3 THEN '一季度'
     WHEN TO_NUMBER(to_char(everyday,'mm'))<=6 THEN '二季度'
       WHEN TO_NUMBER(to_char(everyday,'mm'))<=9 THEN '三季度'
         ELSE '四季度' END AS QUARTER_NAME,        
   TO_NUMBER(to_char(everyday,'mm')) as MONTH_ID,
   TO_NUMBER(to_char(everyday,'mm'))||'月' as MONTH_NAME,
   CASE WHEN TO_NUMBER(to_char(everyday,'dd'))<=10 THEN '上旬' WHEN TO_NUMBER(to_char(everyday,'dd'))<=20 THEN '中旬' ELSE '下旬' END  as XUN,
   TO_NUMBER(to_char(everyday,'dd')) as DAY,
   CASE WHEN to_char(everyday,'dy')='星期一' THEN 1
        WHEN  to_char(everyday,'dy')='星期二' THEN 2 
        WHEN  to_char(everyday,'dy')='星期三' THEN 3
        WHEN to_char(everyday,'dy')='星期四' THEN 4
        WHEN to_char(everyday,'dy')='星期五' THEN 5
        WHEN to_char(everyday,'dy')='星期六' THEN 6
        ELSE 7  END   as WEEK_ID,
   to_char(everyday,'dy') as WEEK_NAME,
 --  lpad(to_char(everyday,'w'),6) as w,
 --  to_char(everyday,'WW') AS WW,
 --  to_char(everyday,'IW') AS IW,
--   to_char(everyday,'FMWW') AS FMWW,
   TO_NUMBER(lpad(to_char(everyday,'IW'),6)) as ISOWEEK_NUMBER_OF_YEAR
   from(select to_date('20100101','yyyymmdd') + level - 1 as everyDay from dual
  connect by level <= 
  (last_day(to_date('20111101','yyyymmdd')) - to_date('20100101','yyyymmdd') +1));

转载于:https://www.cnblogs.com/qjxiaopang/p/5015871.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值