度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 889|回复: 7
打印 上一主题 下一主题

[分享] Oracle to_char()函数中的IW,WW 周别显示

[复制链接]

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
跳转到指定楼层
楼主
发表于 2020-5-5 13:52:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1)ww的算法为每年1月1日为第一周开始,date+6为每一周结尾
  例如20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107
  公式 每周第一天 :date + 周 * 7 - 7
  每周最后一天:date + 周 * 7 - 1
2)iw的算法为星期一至星期日算一周,且每年的第一个星期一为第一周,
   例如20050101为星期六,所以用iw的算法是前年的53周,而20050103之后才是第一周的开始。
  公式 每周第一天 :next_day(date) + 周 * 7 - 7
  每周最后一天:next_day(date) + 周 * 7 - 1
3)其它:
  A、查今天是 "本月" 的第几周
  SELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW') + 1 AS "weekOfMon" from dual;
  或
  SELECT TO_CHAR(SYSDATE,'W') AS "weekOfMon" from dual;
  B、查今天是 "今年" 的第几周
  select to_char(sysdate,'ww') from dual;
  或
  select to_char(sysdate,'iw') from dual;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
 楼主| 发表于 2020-5-5 13:54:50 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
板凳
 楼主| 发表于 2020-5-5 13:57:15 | 只看该作者
SELECT TRUNC(sysdate,'IW') AS STARTDATE FROM DUAL --获取当前星期的(星期一)
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
 楼主| 发表于 2020-5-5 14:06:12 | 只看该作者
实例运用:

回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
5#
发表于 2020-5-5 17:28:57 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
6#
 楼主| 发表于 2020-5-6 14:00:15 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
7#
发表于 2020-5-6 14:33:51 | 只看该作者
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
8#
 楼主| 发表于 2020-5-7 13:05:02 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-1 19:28 , Processed in 0.275610 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表