oracle数据库如何计算周数,“Oracle”数据库的“周数计算”
——日期计算,算第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”数据库的“周数计算”相关推荐
- c#中计算当前时间是今年第几周 与ORACLE数据库中ww转化相同
为了在程序中生成的当前时间是第几周的判断结果与ORCAL中的相同.因为在做周报 ,周报统计的数据计算周数是数据库算的,列表页面又是C#定时任务. 原有的C#计算当前时间是第几周的方法是这样的 Greg ...
- oracle数据库优化 -DBA常用Oracle数据库检查报告
DBA常用 Oracle数据库巡检脚本 本文链接:https://blog.csdn.net/zfr629/article/details/87938013 目录 1. 检查数据库基本状况 1.1. ...
- 数据库应用技术(oracle)
数据库应用技术(oracle) 这是数据库应用技术课程内容,自己根据老师上课ppt做的笔记,给自己复习使用,内容不全,相关疑问请百度. 表 创建表 create table dept(deptno n ...
- Oracle 9i 10g编程艺术-深入数据库体系结构——第3章:文件
第3章 文件 这一章中,我们将分析构成数据库和实例的8种文件类型.与实例相关的文件只有: q 参数文件(parameter file):这些文 ...
- cmd导入oracle库文件,cmd 导入oracle数据库
从服务器将Oracle数据库导出到本地Oracle数据库的方法 原文:从服务器将Oracle数据库导出到本地Oracle数据库的方法 1.将服务器上的Oracle数据库导入到本地 在CMD模式下执 ...
- 数据库导出All about Oracle IMP/EXP
之前一直在查找数据库导出之类的问题,今天正好有机会和大家分享一下. 导入/导出是ORACLE幸存的最陈旧的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方法,确正的说法是Exp/Imp只 ...
- 用什么方式链接oracle数据库,使用cx_Oracle 连接oracle数据库的几种方式
连接oracle数据库的几种方式: 语法: cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME') import cx_Oracl ...
- oracle安装实训心得,oracle数据库实训心得.docx
oracle数据库实训心得 Oracle实训 总结 系别:信管院班级:姓名:浦江峰学号: 日期:XX年12月21日 实训总结: 由于感到oracle实训担子很重,而自己的学识.能力和阅历与其任职都有一 ...
- Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)
显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...
- 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 ...
最新文章
- 鸟哥linux私房菜第6章笔记
- OpenCV计算机视觉编程攻略之提取图片轮廓-使用Canny函数
- Opencv 深度学习中为什么普遍使用BGR而不用RGB?
- 编写脚本自动部署反向代理、web、nfs
- 洛谷 P1706 P1036 -小试牛刀
- scala中抽象类_Scala中的抽象类
- 在 Windows 下部署 Go 语言环境
- Security+ 学习笔记28 云计算
- java数据类型及运算符
- 谈谈嵌入式设备用户界面的未来
- UML用例图怎么画 有手就会
- python字典函数values(),keys(),items()的用法与区别
- 2023跨境出海指南:马来西亚网红营销白皮书
- heading pitch bank
- centos大小写混乱问题
- 聊聊两个状态管理库 Redux Recoil
- JAVA学习资源种子
- 挑战EUV光刻:NIL靠谱吗?一文秒懂
- 在ubuntu下下载pip
- 简述面向过程与面向过程的思想