1105周三

本文介绍了一种使用Oracle SQL来确定一年中特定周的开始和结束日期的方法。通过生成一年中的所有日期并筛选出每周的周日和周六,进而推算出每周的起始和终止日期。

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

ORACLE 得到一年中的第几周的开始和结束日期
oracle 第几周 开始日期 结束日期
日月明王BLOG  http://sunmoonking.spaces.live.com
      得到一年中的第几周的开始和结束日期。
select trunc(sysdate, 'MM')+rownum-1 as wwm from user_objects where rownum < 拼出一年的日期。
366to_char(wwm,'D')=1 得到周日的日期,
decode(sign(sunday.the_day-saturday.the_day),-1,sunday.the_day,sunday.the_day-7) 当本周的周日大于周六的日期的时候,那么说明ORACLE对周的理解有误,所以将周日减7天得到真正的本周的第一天。
SQL> l
select
sunday.the_week,decode(sign(sunday.the_day-saturday.the_day),-1,sunday.the_day,sunday.the_day-7)
sunday,saturday.the_day saturday from
(select to_char(wwm,'WW') the_week,to_char(wwm,'D') the_daynum,wwm the_day from (select
trunc(sysdate, 'MM')+rownum-1 as wwm from user_objects where rownum < 366) where
to_char(wwm,'D')=1 ) sunday,
(select to_char(wwm,'WW') the_week,to_char(wwm,'D') the_daynum,wwm the_day  from (select
trunc(sysdate, 'MM')+rownum-1 as wwm from user_objects where rownum < 366) where
to_char(wwm,'D')=7 ) saturday
where sunday.the_week=saturday.the_week
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值