ORACLE函数之日期时间运算函数
1 ADD_MONTHS
格式:ADD_MONTHS(D,N)
说明:返回日期时间D加N月后相应的日期时间。N为正时则表示D之后;N为负时则表示为D之前。N为小数则会自己主动先删除小数部分,而用整数部分
举例:
SQL>SELECT ADD_MONTHS(SYSDATE,7) A,ADD_MONTHS(SYSDATE,-7) B,ADD_MONTHS(SYSDATE,7.9)C FROM DUAL;
A
B C
------------------------------------- ------------------
2015/1/2016:07:02 2013/11/20 16:07:02 2015/1/20 16:07:02
2 CURRENT_DATE
格式:CURRENT_DATE
说明:返回当前会话时区所相应的日期
举例:SQL> SELECTCURRENT_DATE A FROM DUAL;
A
-------------------
2014/6/2016:09:04
3 CURRENT_TIMESTAMP
格式:CURRENT_TIMESTAMP([P])
说明:返回当前会话时区所相应的日期时间时间戳。P为精度,能够是O—9之间的一个整数,默觉得6
举例:
SQL>SELECT CURRENT_TIMESTAMP A,CURRENT_TIMESTAMP(9) B FROM DUAL;
A B
----------------------------------------------------------------------------------------------
20-6月-14 04.12.33.402000下午
+08:00 20-6月 -1404.12.33.402000000下午 +08:00
4 DBTIMEZONE
格式:DBTIMEZONE
说明:返回数据库时区
举例:
SQL>SELECT DBTIMEZONE A FROM DUAL;
A
------
+00:00
5 EXTRACT
格式:EXTRACT(C,FROM D)
说明:返回日期时间D中指定的部分C。C的取值为YEAR,MONTH。DAY,HOUR,MINUTE,SECOND,TIMEZONE_HOUR,TIMEZONE_MINUTE,
TIMEZONE_REGION, TIMEZONE_ABBR。指定的C必须在D中存在
举例:
抽取年月日
SQL>SELECT EXTRACT(YEAR FROM SYSDATE) A,EXTRACT(MONTH FROM SYSDATE) B,EXTRACT(DAYFROM SYSDATE) C FROM DUAL;
A
B C
-------------------- ----------
2014
6 20
抽取时分秒不能从SYSDATE中抽取。SYSTIMESTAMP返回的UTC标准时间
SQL>SELECT EXTRACT(HOUR FROM SYSTIMESTAMP) A,EXTRACT(MINUTE FROM SYSTIMESTAMP)B,EXTRACT(SECOND FROM SYSTIMESTAMP) C FROM DUAL;
A
B C
-------------------- ----------
8
26 50.052
6 LAST_DAY
格式:LAST_DAY(D)
说明:返回日期D所在月份的最后一天
举例:
SQL>SELECT LAST_DAY(SYSDATE) A FROM DUAL;
A
------------------
2014/6/3016:40:08
7 LOCALTIMESTAMP
格式:LOCALTIMESTAMP([p])
说明:返回当前会话时区的日期时间。P为精度。能够是0-9之间的一个整数,默觉得6。与CURRENT_TIMESTAMP在返回值的数据类型上有差别
举例:
SQL>SELECT LOCALTIMESTAMP(4) A FROM DUAL;
A
--------------------------------------------------------------------------------
20-6月-14 04.42.09.2800下午
8 MONTHS_BETWEEN
格式:MONTHS_BETWEEN(D1,D2)
说明:返回日期D1和D2之间相差的月数。假设D1小于D2,则返回负数:假设D1和D2的天数同样或都是月底,则返回整数;或者Oracle以每月31天为准计算结果的小数部分
举例:
SQL>SELECT MONTHS_BETWEEN(SYSDATE,TO_DATE('2013-12-31','YYYY-MM-dd'))A,MONTHS_BETWEEN(SYSDATE,TO_DATE('2015-12-1','YYYY-MM-dd')) A FROM DUAL;
A
A
--------------------
5.66771318-17.364544
9 NEXT_DAY
格式:NEXT_DAY(D,C)
说明:返回日期D后的下一个C。
C是一个字符串。表示用当前会话语言表示的一周中某一天的全称(如星期一、星期二等),也能够是数值。
举例:SQL> SELECTNEXT_DAY(SYSDATE,3) A, NEXT_DAY(SYSDATE,'星期一')
B FROM DUAL;
A B
-------------------------------------------
2014/6/2416:48:562014/6/23 16:48:56
10 ROUND
格式:ROUND(date,fmt)
说明:日期的四舍五入。
fmt为year或者YY,按**1-6月和7-12月**四舍五入到近期的几几年1月1日
fmt为month或者MM。按**1-15日和16-30日**四舍五入到近期的几月1日
fmt为day,按**周一到周三和周四到周日**四舍五入到近期的周日
fmt为DD,假设小时超过12,向前进1
fmt为HH,假设分超过30,向前进1
fmt为分MI,到分,秒数30是分界线。相当于四舍五入的5。假设秒超过30。向前进1
fmt为秒SS,精确到秒
举例:
SQL>SELECT ROUND(TO_DATE('2013-11-24 10:31:11','YYYY-MM-DD HH24:MI:SS'),'YY') AFROM DUAL;
A
-----------
2014/1/1
SQL>SELECT ROUND(TO_DATE('2013-11-24 10:31:11','YYYY-MM-DD HH24:MI:SS'),'MM') AFROM DUAL;
A
-----------
2013/12/1
SQL>SELECT ROUND(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'Day')A,ROUND(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'DD') B FROMDUAL;
A B
----------------------
2013/11/24 2013/11/25
SQL>SELECT ROUND(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'HH') A,ROUND(TO_DATE('2013-11-2510:31:11','YYYY-MM-DD HH24:MI:SS'),'MI') B FROM
DUAL;
A
B
---------------------------------------
2013/11/2511:00:00 2013/11/25 10:31:00
11 SESSIONTIMEZONE
格式:SESSIONTIMEZONE
说明:返回当前会话的时区
举例:
SQL>SELECT SESSIONTIMEZONE A FROM DUAL;
A
---------------------------------------------------------------------------
+08:00
12 SYS_EXTRACT_UTC
格式:SYS_EXTRACT_UTC(datetime_wuth_timezone)
说明:返回UTC时间
举例:
SQL>SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP) A FROM DUAL;
A
--------------------------------------------------------------------------------
24-6月-14 03.05.09.136892上午
13 SYSDATE
格式:SYSDATE
说明:返回当前时间,数据库驻留的操作系统时间
举例:
SQL>SELECT SYSDATE A
FROM DUAL;
A
------------------
2014/6/2411:06:24
14 SYSTIMESTAMP
格式:SYSTIMESTAMP
说明:返回系统时间,包括时区信息,带微秒
举例:
SQL>SELECT SYSTIMESTAMP A FROM DUAL;
A
--------------------------------------------------------------------------------
24-6月-14 11.09.50.997760上午
+08:00
15 TRUNC
格式:TRUNC(d[,fmt])
说明:截断日期。仅仅有d一个參数时。返回日期时间。
fmt为yyyy或者yy时,返回当年第一天
fmt为mm时,返回当月第一天
fmt为dd时,返回当前年月日
fmt为d时。返回当前星期的第一天
fmt为hh时,截取到当前的小时
fmt为mi时,截取到当前的分钟
举例:
SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS')) A FROM DUAL;
A
-----------
2013/11/25
SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'YYYY')A,TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'YY') B
FROM DUAL;
A B
----------------------
2013/1/1 2013/1/1
SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'MM')A,TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'DD') B
FROM DUAL;
A B
----------------------
2013/11/1 2013/11/25
SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'D') A FROMDUAL;
A
-----------
2013/11/24
SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'HH') A,TRUNC(TO_DATE('2013-11-2510:31:11','YYYY-MM-DD HH24:MI:SS'),'MI') B FROM
DUAL;
A B
--------------------------------------
2013/11/2510:00:00 2013/11/25 10:31:00
ORACLE函数之日期时间运算函数的更多相关文章
- mysql 日期时间运算函数(转)
DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); ...
- mysql 日期时间运算函数
时期时间函数 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-0 ...
- ORACLE函数之日期时间转换函数
1. TO_CHAR 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X是一个日期或者数字.format是一个规定了X採用何种格式转换 ...
- ORACLE——EXTRACT() 截取日期时间的函数使用
1.截取日期的 年: --使用方法 EXTRACT(YEAR FROM DATE) SQL> SELECT EXTRACT( YEAR FROM SYSDATE ) FROM DUAL; --结 ...
- MySQL日期时间处理函数
-- MySQL日期时间处理函数SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47-- 在MySQL里也存在和Oracle里类似的dual虚拟表: ...
- SAP 使用较频繁的日期时间处理函数总结
在ABAP实际开发中,经常需要用到一些日期时间处理函数,个人感觉经常使用到的函数进行一下汇总 1. 根据工厂日历 计划交货日期 和 收货处理时间 来计算 销售计划中计划完工日期,其他类似日期计算等 ...
- MySQL字符串函数、日期时间函数
MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位 ...
- Mysql日期时间Extract函数介绍
MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数.1. 选取日期时 ...
- SQL Server(第二章) 字符串函数、日期时间函数、转换函数
--1.CONCAT 函数:字符串连接(支持sql server2012 SQL规则 如果与NULL连接返回NILL) SELECT empid,CONCAT(firstname,lastname) ...
随机推荐
- Swift - 列表项尾部附件点击响应(感叹号,箭头等)
列表单元格尾部可以添加各种样式的附件,如感叹号,三角箭头等.而且点击内容区域与点击附件的这两个响应事件是不同的,这样可以方便我们实现不同的功能(比如点击内容则查看详情,点击感叹号则编辑) 1 2 3 ...
- u-boot的nand驱动写过程分析
从命令说起,在u-boot输入下列命令: nand write 40008000 0 20000 命令的意思是将内存0x40008000开始的部分写入nand,从nand地址0开始写,写入长度是0x2 ...
- nmap -- write a nmap script
漏洞扫描 --编写Nmap脚本 2006年12月份,Nmap4.21 ALPHA1版增加脚本引擎,并将其作为主线代码的一部分.NSE脚本库现在已经有400多个脚本.覆盖了各种不同的网络机制(从SMB漏 ...
- maven项目配置Project Facets时further configuration available不出来问题
如果下边的 further configuration available不出来 把Dynamic web module 去掉勾选,应用与项目,然后再点开项目的properties,再选中Dynami ...
- ActiveX 暴漏你全部信息的可怕的插件!
近期在项目中常常接触ActiveX控件,对于这个名词相信仅仅要是上网看视频的用户一定都会遇到adobe更新或者载入的提示,这就是一个ActiveX控件.一直以为Active控件是处理复杂的页面逻辑提供 ...
- 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比
本文主要选取了目前比较流行的JavaScript框架Dojo.Google Closure.jQuery.Prototype.Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供 ...
- hadoop集群空间使用情况报告脚本
近期集群空间有点紧张,总是操心空间不足而崩溃,近期扩容又不太现实,经与集群用户沟通发现:集群上存储了非常多没用的历史数据,能够删除,这样就能够通过一个crontab脚本每天生成集群空间使用报告,当使用 ...
- Wamp 访问本地站点慢 的解决办法
自从安装了64位的windows 8.1之后,电脑运行速度变快了,可是重新下载安装64位的WAMP,访问本地的WEB站点确是很慢,根本不像是在本地访问,经过在WAMP论坛上搜索,终于找到了解决办法,主 ...
- syslog-ng 3.4.3 发布,强烈建议升级 - 开源中国社区
syslog-ng 3.4.3 发布,强烈建议升级 - 开源中国社区 syslog-ng 3.4.3 发布,强烈建议升级 oschina 发布于: 2013年08月16日 (2评) 分享到 ...
- 新浪SAE数据库信息
此账号仅能在SAE平台上使用,不能从外部连接我们建议开发者使用SaeMysql操作数据库 如果您想自己实现数据库相关操作,可以使用以下常量: 用户名 : SAE_MYSQL_USER 密 码 : S ...