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

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

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

—— 例如20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107

—— 公式 每周第一天 :date + 周 * 7 - 7

—— 每周最后一天:date + 周 * 7 - 1

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

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

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

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

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

—— 例如20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107

—— 公式 每周第一天 :date + 周 * 7 - 7

—— 每周最后一天:date + 周 * 7 - 1

—— 如果以ww格式为主,第1、17周的起迄如下

127.0.0.1:asdb:WF>select to_date('20050101','yyyymmdd') + 1*7-7,to_date('20050101','yyyymmdd') + 1*7-1 from dual;

TO_DATE(' TO_DATE('

--------- ---------

01-JAN-05 07-JAN-05

127.0.0.1:asdb:WF>select to_date('20050101','yyyymmdd') + 17*7-7,to_date('20050101','yyyymmdd') + 17*7-1 from dual;

TO_DATE(' TO_DATE('

--------- ---------

23-APR-05 29-APR-05

Elapsed: 00:00:00.00

—— 验证如下

127.0.0.1:asdb:WF>select to_char(to_date('20050422','yyyymmdd'),'ww') as weekn,to_char(to_date('20050423','yyyymmdd'),'ww') as week1,to_char(to_date('20050429','yyyymmdd'),'ww') as week2,to_char(to_date('20050430','yyyymmdd'),'ww') as weekn2 from dual;

WEEK WEEK WEEK WEEK

---- ---- ---- ----

16 17 17 18

Elapsed: 00:00:00.00

127.0.0.1:asdb:WF>

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

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

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

—— 每周最后一天:next_day(date) + 周 * 7 - 1

—— 如果以iw格式为主,第1、17周的起迄如下

127.0.0.1:asdb:WF>select next_day(to_date('20050101','yyyymmdd'),'MONDAY')+ 1 * 7 - 7 as first_day,next_day(to_date('20050101','yyyymmdd'),'MONDAY')+ 1 * 7 - 1 as last_day from dual;

FIRST_DAY LAST_DAY

--------- ---------

03-JAN-05 09-JAN-05

Elapsed: 00:00:00.00

127.0.0.1:asdb:WF>

127.0.0.1:asdb:WF>select next_day(to_date('20050101','yyyymmdd'),'MONDAY')+ 17 * 7 - 7 as first_day,next_day(to_date('20050101','yyyymmdd'),'MONDAY')+ 17 * 7 - 1 as last_day from dual;

FIRST_DAY LAST_DAY

--------- ---------

25-APR-05 01-MAY-05

Elapsed: 00:00:00.00

127.0.0.1:asdb:WF>

—— 验证如下

127.0.0.1:asdb:WF>select to_char(to_date('20050424','yyyymmdd'),'iw') as weekn,to_char(to_date('20050425','yyyymmdd'),'iw') as week1,to_char(to_date('20050501','yyyymmdd'),'iw') as week2,to_char(to_date('20050502','yyyymmdd'),'iw') as weekn2 from dual;

WEEK WEEK WEEK WEEK

---- ---- ---- ----

16 17 17 18

Elapsed: 00:00:00.00

其它:

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

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;

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

select to_char(sysdate,'ww') from dual;

select to_char(sysdate,'iw') from dual;

附注:

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

IW = Week of year (1-52 or 1-53) based on the ISO standard

WW = Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.

oracle数据库如何计算周数,“Oracle”数据库的“周数计算”相关推荐

  1. c#中计算当前时间是今年第几周 与ORACLE数据库中ww转化相同

    为了在程序中生成的当前时间是第几周的判断结果与ORCAL中的相同.因为在做周报 ,周报统计的数据计算周数是数据库算的,列表页面又是C#定时任务. 原有的C#计算当前时间是第几周的方法是这样的 Greg ...

  2. oracle数据库优化 -DBA常用Oracle数据库检查报告

    DBA常用 Oracle数据库巡检脚本 本文链接:https://blog.csdn.net/zfr629/article/details/87938013 目录 1. 检查数据库基本状况 1.1. ...

  3. 数据库应用技术(oracle)

    数据库应用技术(oracle) 这是数据库应用技术课程内容,自己根据老师上课ppt做的笔记,给自己复习使用,内容不全,相关疑问请百度. 表 创建表 create table dept(deptno n ...

  4. Oracle 9i 10g编程艺术-深入数据库体系结构——第3章:文件

    第3章                      文件 这一章中,我们将分析构成数据库和实例的8种文件类型.与实例相关的文件只有: q         参数文件(parameter file):这些文 ...

  5. cmd导入oracle库文件,cmd 导入oracle数据库

    从服务器将Oracle数据库导出到本地Oracle数据库的方法 原文:从服务器将Oracle数据库导出到本地Oracle数据库的方法 1.将服务器上的Oracle数据库导入到本地   在CMD模式下执 ...

  6. 数据库导出All about Oracle IMP/EXP

    之前一直在查找数据库导出之类的问题,今天正好有机会和大家分享一下. 导入/导出是ORACLE幸存的最陈旧的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方法,确正的说法是Exp/Imp只 ...

  7. 用什么方式链接oracle数据库,使用cx_Oracle 连接oracle数据库的几种方式

    连接oracle数据库的几种方式: 语法: cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME') import cx_Oracl ...

  8. oracle安装实训心得,oracle数据库实训心得.docx

    oracle数据库实训心得 Oracle实训 总结 系别:信管院班级:姓名:浦江峰学号: 日期:XX年12月21日 实训总结: 由于感到oracle实训担子很重,而自己的学识.能力和阅历与其任职都有一 ...

  9. Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)

    显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...

  10. asp.netcore oracle,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

最新文章

  1. 鸟哥linux私房菜第6章笔记
  2. OpenCV计算机视觉编程攻略之提取图片轮廓-使用Canny函数
  3. Opencv 深度学习中为什么普遍使用BGR而不用RGB?
  4. 编写脚本自动部署反向代理、web、nfs
  5. 洛谷 P1706 P1036 -小试牛刀
  6. scala中抽象类_Scala中的抽象类
  7. 在 Windows 下部署 Go 语言环境
  8. Security+ 学习笔记28 云计算
  9. java数据类型及运算符
  10. 谈谈嵌入式设备用户界面的未来
  11. UML用例图怎么画 有手就会
  12. python字典函数values(),keys(),items()的用法与区别
  13. 2023跨境出海指南:马来西亚网红营销白皮书
  14. heading pitch bank
  15. centos大小写混乱问题
  16. 聊聊两个状态管理库 Redux Recoil
  17. JAVA学习资源种子
  18. 挑战EUV光刻:NIL靠谱吗?一文秒懂
  19. 在ubuntu下下载pip
  20. 简述面向过程与面向过程的思想

热门文章

  1. Altium Designer设计PCB总结(干货)
  2. HTML元素拖拽功能的实现
  3. 怎样抢注到一个刚过期不久的域名?
  4. mysql 求季度产量平均值
  5. 使用LaTex绘制神经网络图
  6. 2023宁波大学计算机考研信息汇总
  7. 常用搜索引擎的搜索方法有哪些?各有什么特点?
  8. python抢课_一个用python实现的东方时尚(驾校)抢课程序
  9. WPF/WinForm 如何生成单文件的EXE
  10. 群发邮件避免被识别为垃圾邮件