文档章节

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

博为峰教研组
 博为峰教研组
发布于 2016/12/07 19:16
字数 644
阅读 3
收藏 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

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 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
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
hadoop面试记录(二)

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

等待救赎
2016/03/22
143
0

没有更多内容

加载失败,请刷新页面

加载更多

重构系统的套路-面向对象设计原则

前言 一讨论系统重构,很多人不明所以的就开始画各种架构图,写各种高可用,高并发设计方案,其实不知道很多系统的腐朽是从代码失控开始的,所以重构系统之前,架构师需要深谙面向对象设计之...

春哥大魔王的博客
8分钟前
1
0
Private Cloud和On-Premise区别

大家常常听到Private Cloud和On-Premise两个术语,下面通过相关背景介绍区分两者的差别: Private Cloud定义 维基百科云计算 词条中解释了Private Cloud,其含义为“Private cloud is cloud ...

突突突酱
8分钟前
0
0
Linux-ubuntu学习(第一天)

Linux第一天 1.Linux与Windows的区别 Windows是桌面OS。Linux是作为服务器的OS。Linux作为服务器是更安全更稳定的。 2.虚拟机的理解 学习java的时候有个java虚拟机JVM。如果想要在windows上运...

柠檬果过
19分钟前
0
0
以太坊应用开发接口:JSON RPC API

以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程...

汇智网教程
28分钟前
3
0
排序--二分插入排序

二分插入排序是对直接插入排序的一个优化,在排序--直接插入排序中已经分析过直接插入排序的最坏时间复杂度是平方级别的,二分插入排序则是通过二分查找对寻找插入位置进行了优化,在找到插入...

FAT_mt
39分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部