oracle连续周数,详细讲解Oracle数据库的“周数计算”

详细讲解Oracle数据库的“周数计算”以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

5eae14b2f44456972529d3f7502ac9d3.png

——日期计算 算第n周的第一天及最后一天是几号 by keynes

================================================

—— ww的算法为每年 月 日为第一周开始 date+ 为每一周结尾

—— 例如 为第一周的第一天 而第一周的最后一天为 + =

—— 公式 每周第一天 date + 周 *

—— 每周最后一天 date + 周 *

你会发现怎么编排格式都会跑掉

=========================================================================

——日期计算 算第n周的第一天及最后一天是几号 by keynes

=========================================================================

—— ww的算法为每年 月 日为第一周开始 date+ 为每一周结尾

—— 例如 为第一周的第一天 而第一周的最后一天为 + =

—— 公式 每周第一天 date + 周 *

—— 每周最后一天 date + 周 *

—— 如果以ww格式为主 第 周的起迄如下

asdb WF>select to_date( yyyymmdd ) + * to_date( yyyymmdd ) + * from dual

TO_DATE( TO_DATE(

JAN JAN

asdb WF>select to_date( yyyymmdd ) + * to_date( yyyymmdd ) + * from dual

TO_DATE( TO_DATE(

APR APR

Elapsed

—— 验证如下

asdb WF>select to_char(to_date( yyyymmdd ) ww ) as weekn to_char(to_date( yyyymmdd ) ww ) as week to_char(to_date( yyyymmdd ) ww ) as week to_char(to_date( yyyymmdd ) ww ) as weekn from dual

WEEK WEEK WEEK WEEK

Elapsed

asdb WF>

—— iw的算法为星期一至星期日算一周 且每年的第一个星期一为第一周

—— 例如 为星期六 所以用iw的算法是前年的 周 而 之后才是第一周的开始

—— 公式 每周第一天 next_day(date) + 周 *

—— 每周最后一天 next_day(date) + 周 *

—— 如果以iw格式为主 第 周的起迄如下

asdb WF>select next_day(to_date( yyyymmdd ) MONDAY )+ * as first_day next_day(to_date( yyyymmdd ) MONDAY )+ * as last_day from dual

FIRST_DAY LAST_DAY

JAN JAN

Elapsed

asdb WF>

asdb WF>select next_day(to_date( yyyymmdd ) MONDAY )+ * as first_day next_day(to_date( yyyymmdd ) MONDAY )+ * as last_day from dual

FIRST_DAY LAST_DAY

APR MAY

Elapsed

asdb WF>

—— 验证如下

asdb WF>select to_char(to_date( yyyymmdd ) iw ) as weekn to_char(to_date( yyyymmdd ) iw ) as week to_char(to_date( yyyymmdd ) iw ) as week to_char(to_date( yyyymmdd ) iw ) as weekn from dual

WEEK WEEK WEEK WEEK

Elapsed

其它

——== 查今天是 本月 的第几周

SELECT TO_CHAR(SYSDATE WW ) TO_CHAR(TRUNC(SYSDATE MM ) WW ) + AS weekOfMon from dual

SELECT TO_CHAR(SYSDATE W ) AS weekOfMon from dual

——== 查今天是 今年 的第几周

select to_char(sysdate ww ) from dual

select to_char(sysdate iw ) from dual

附注

上文所提之iw及ww格式在doc内解释如下

IW = Week of year ( or ) based on the ISO standard

WW = Week of year ( ) where week starts on the first day of the year and continues to the seventh day of the year lishixinzhi/Article/program/Oracle/201311/18798

分页:123

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值