文档章节

Oracle常用函数系列之五:日期函数

博为峰教研组
 博为峰教研组
发布于 2016/12/07 19:16
字数 644
阅读 11
收藏 1

                          

本文将演示以下4个 Oracle中的常用日期函数。

函数

功能

ADD_MONTHS(d,n)

在某一个日期d上,加上指定的月数n,返回计算后的新日期

LAST_DAY(d)

返回指定日期当月的最后一天

ROUND(d[,fmt])

返回一个以fmt为格式的四舍五入日期值

EXTRACT(fmt FROM d)

返回一个以fmt为格式的四舍五入日期值

下面将结合实例对这些函数进行介绍。

l ADD_MONTHS(d,n),在某一个日期d上,加上指定的月数n,返回计算后的新日期。d表示日期,n表示要加的月数。

示例1:

SQL> SELECT SYSDATE,ADD_MONTHS(SYSDATE,5) FROM DUAL;

SYSDATE        ADD_MONTHS(SYS

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

06-12月-16     06-5月 -17

 

LAST_DAY(d),返回指定日期当月的最后一天。

示例2:

 

SQL> SELECT SYSDATE,LAST_DAY(SYSDATE) FROM DUAL;

 

SYSDATE        LAST_DAY(SYSDA

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

06-12月-16     31-12月-16

 

l ROUND(d[,fmt]),返回一个以fmt为格式的四舍五入日期值,d是日期,fmt是格式模型。默认fmt为DDD,即月中的某一天。

Ø 如果fmt为“YEAR”则舍入到某年的1月1日,即前半年舍去,后半年作为下一年。

Ø 如果fmt为“MONTH”则舍入到某月的1日,即前月舍去,后半月作为下一月。

Ø 默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天。

Ø 如果fmt为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。

示例3:

SQL> SELECT SYSDATE,

  2  ROUND(SYSDATE),

  3  ROUND(SYSDATE,'DAY'),

  4  ROUND(SYSDATE,'MONTH'),

  5  ROUND(SYSDATE,'YEAR')  FROM DUAL;

 

SYSDATE        ROUND(SYSDATE) ROUND(SYSDATE, ROUND(SYSDATE, ROUND(SYSDATE,

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

06-12月-16     06-12月-16     04-12月-16     01-12月-16     01-1月 -17

与ROUND对应的函数时TRUNC(d[,fmt])对日期的操作,TRUNC与ROUND非常相似,只是不对日期进行舍入,直接截取到对应格式的第一天。

 

l EXTRACT(fmt FROM d),提取日期中的特定部分。

 fmt为:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。其中YEAR、MONTH、DAY可以为DATE类型匹配,也可以与TIMESTAMP类型匹配;但是HOUR、MINUTE、SECOND必须与TIMESTAMP类型匹配。

HOUR匹配的结果中没有加上时区,因此在中国运行的结果小8小时。

示例4:

SQL> SELECT SYSDATE "DATA",

  2   EXTRACT(YEAR FROM SYSDATE) "YEAR",

  3  EXTRACT(MONTH FROM SYSDATE) "MONTH",

  4  EXTRACT(DAY FROM SYSDATE ) "DAY",

  5  EXTRACT(HOUR FROM SYSTIMESTAMP) "HORE",

  6  EXTRACT(MINUTE FROM SYSTIMESTAMP) "MINUTE",

  7       EXTRACT(SECOND FROM SYSTIMESTAMP) "SECOND"

  8   FROM DUAL;

 

DATA                YEAR      MONTH        DAY       HORE     MINUTE     SECOND

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

06-12月-16         2016         12          6          1         38     26.481

 

© 著作权归作者所有

博为峰教研组
粉丝 52
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
加载中

评论(0)

Oracle常用函数系列之六:转换函数

本文将演示以下3个 Oracle中的常用日期函数。 函数 功能 TOCHAR(d|n[,fmt]) 把日期和数字转换为制定格式的字符串 TODATE(x [,fmt]) 把一个字符串以fmt格式转换为一个日期类型 TO_NUMBER(x[,f...

博为峰教研组
2016/12/08
8
0
《数据库 系列 》 - 目录

MySql 系列 《MySql 系列》- 数据库操作 《MySql 系列》- 常用函数 《MySql 系列》- 常用Sql SqlServer 系列 《SqlServer 系列》 - 函数 《SqlServer 系列》 - 事务已满处理 《SqlServer 系列...

Kimisme
2018/01/03
43
0
web报表工具FineReport常用函数的用法总结(日期和时间函数)

DATE DATE(year,month,day):返回一个表示某一特定日期的系列数。 Year:代表年,可为一到四位数。 Month:代表月份。 若1<=month<= 12,则函数把参数值作为月。 若month>12,则函数从年的一月份...

Sherlynn
2015/04/07
0
0
hadoop面试记录(二)

最近面试面试题,回答自己总结的,有不对的地方欢迎大家留言指正 1 hadoop中配置文件有哪些,各自作用? hadoop-env.sh JAVAHOME,HADOOPCONFDIR,HADOOPLOGDIR,HADOOPPIDDIR,HADOOPCLASS...

等待救赎
2016/03/22
339
0
mysql,SQL Server常用函数整理,以备不时之需

好久没有用到数据库函数了,今天用到了,顺便把以前的也整理一下。个人感觉其实大致都差不多,数据库我只会三种,mysql,sqlserver,oracle,由于oracle实在太占内存了,在公司也没怎么用,今...

君子之耀
2014/05/29
792
0

没有更多内容

加载失败,请刷新页面

加载更多

laravel 多条件查询 闭包写法

laravel 多条件查询 闭包写法 直接上代码 1: 比如我要查询 符合条件的 部门和 用户 DB::table('user')->where('user_id',20)->whereIn('d_id',[82,83])->get(); 可以使用下面这种方法替换 ......

李佳顺
20分钟前
21
0
springboot实现热部署

一、前言 在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受。在java开发领域...

素小暖OSC
21分钟前
98
0
为什么要选择开源的直播源码开发直播系统?

相信大家在购买直播源码的过程中,肯定都会咨询过是否开源这个问题。对于懂技术的人来说,开源的意思非常好理解,而对于不懂技术的人来说,开源可能是个非常难以理解的词汇。在这里跟大家简单...

图玩智能科技
23分钟前
26
0
真的在Windows中杀死一个进程

偶尔,Windows机器上的程序会发疯,只是挂起。 所以我将调用任务管理器并点击“结束进程”按钮。 但是,这并不总是有效; 如果我尝试了足够多次,那么它通常会最终死亡,但我真的希望能够立即...

技术盛宴
27分钟前
56
0
使用低代码平台 - 危险的赌注

低代码应用平台(LCAP - low code application platforms)在多样、复杂的现代软件开发情势下应运而生。依据Gartner(高德纳,全球最具权威的IT研究与顾问咨询公司)的数据,Mendix 是这方面...

CUBAChinaTeam
28分钟前
46
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部