文档章节

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

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

                          

本文将演示以下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

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
Oracle常用函数系列之六:转换函数

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

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

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

Kimisme
01/03
3
0
hadoop面试记录(二)

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

等待救赎
2016/03/22
143
0
web报表工具FineReport常用函数的用法总结(日期和时间函数)

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

Sherlynn
2015/04/07
0
0
mysql,SQL Server常用函数整理,以备不时之需

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

君子之耀
2014/05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
今天
1
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
3
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
4
0
Spring MVC之RequestMappingHandlerMapping匹配

对于RequestMappingHandlerMapping,使用Spring的同学基本都不会陌生,该类的作用有两个: 通过request查找对应的HandlerMethod,即当前request具体是由Controller中的哪个方法进行处理; 查...

爱宝贝丶
今天
5
0
Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部