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

标题: Oracle to_char()函数中的IW,WW 周别显示 [打印本页]

作者: 张兴康    时间: 2020-5-5 13:52
标题: Oracle to_char()函数中的IW,WW 周别显示
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;

作者: 张兴康    时间: 2020-5-5 13:54

作者: 张兴康    时间: 2020-5-5 13:57
SELECT TRUNC(sysdate,'IW') AS STARTDATE FROM DUAL --获取当前星期的(星期一)
作者: 张兴康    时间: 2020-5-5 14:06
实例运用:


作者: caixuqad    时间: 2020-5-5 17:28

作者: 张兴康    时间: 2020-5-6 14:00
caixuqad 发表于 2017-6-5 17:28


作者: fteair    时间: 2020-5-6 14:33

作者: 张兴康    时间: 2020-5-7 13:05
fteair 发表于 2017-6-6 14:33






欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2