Welcome 微信登录

首页 / 数据库 / MySQL / Oracle日期周详解以及周开始结束时间计算

1 Oracle中周相关知识描述1.1          日期格式化函数TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串。X是一个日期,FORMAT是一个规定了X采用何种格式转换的格式字符串,FORMAT与周相关的有W,WW,IW,D,FMWW。W 的含义是一个月的第几周。是按照ORACLE自定义的标准周来返回周数。IW是ISO标准周,它的含义是ISO标准周以周别为“主线”,每年最多可以有53个周别,但是每年至少要包含52个周别;如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周;如果在不足52周别的话,则以下一年的时间来补;每周固定的从周一开始作为本周的第1天,到周日作为本周的第7天;比如:在Oracle中2012年01月01号依然属于IW周别2011年的第52周的第7天。这个用到的比较多。WW是ORACLE自定义的标准周,它的含义是每年的1月1日作为当年的第一周的第一天(不管当年的1月1日是星期几);比如:2014年01年01是周三,在Oracle中被定义为2014年WW的第一周的第一天。一般很少用到。D是返回当前日期是这个星期的第几天。是按照从周日到周六来进行计算的,这是要注意的地方。FMWW该年1月1号(不考虑属星期几)开始至该年该一个星期日为第一周,第二周是从该年第一个星期开始算(这与IW算法相同)一年的最后一周以该年的12月31号做为截止。1.2          日期时间运算函数NEXT_DAY(X,Y):用于计算X时间后第一个星期Y的时间。Y是一个字符串,表示用当前会话语言表示的一周中某一天的全称(如星期一、星期二等),也可以是数值。TRUNC(X [,FORMAT]):截断日期,FORMAT 中与周相关的有D,IW,WW,W,FMWW。W 的含义是一个月的第几周。是按照ORACLE自定义的标准周来返回的是一个周数。IW是ISO标准周,返回是的当前日期所在周的周一。WW是ORACLE自定义的标准周。返回ORACLE自定义标准周所在的周一。D 的含义是的返回当前星期的第一天。令人感到奇怪的是根据D返回的是当前星期的第一天是星期日。这点是我们要注意的地方。FMWW该年1月1号(不考虑属星期几)开始至该年该一个星期日为第一周,第二周是从该年第一个星期开始算(这与IW算法相同)一年的最后一周以该年的12月31号做为截止。取周的开始时间时在跨年的时候与IW有些区别,比如2012年01年01使用FMWW的时候,周的开始时间是2012-01-01,使用IW时,周的开始时间是2011/12/26。ROUND(X [,FORMAT]):日期的四舍五入FORMAT中与周相关的有DAY。按周一到周三和周四到周日四舍五入到最近的周日。--------------------------------------------------------------------------------Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm--------------------------------------------------------------------------------2 根据给定时间取一周的开始时间和结束时间--取周的开始时间和结束时间
SELECT TRUNC(TO_DATE("2014-07-18","YYYY-MM-DD"),"IW") AS STARTDATE FROM DUAL;--本周周一
SELECT TRUNC(TO_DATE("2014-07-18","YYYY-MM-DD"),"IW") + 6 AS ENDDATE FROM DUAL;--本周周日SELECT TRUNC(TO_DATE("2014-07-18","YYYY-MM-DD"),"IW") - 7 AS STARTDATE FROM DUAL;---上周周一 
SELECT TRUNC(TO_DATE("2014-07-18","YYYY-MM-DD"),"IW") - 1  AS ENDDATE FROM DUAL;--上周周日更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-07/104379p2.htm
  • 1
  • 2
  • 下一页
Python操作Oracle数据库环境配置Oracle使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下相关资讯      Oracle日期周  Oracle时间计算  本文评论 查看全部评论 (0)
表情: 姓名: 字数