ORACLE 日期函数

SYSDATE  当前的数据库系统时间

ADD_MONTHS(加减指定的月份)

MONTHS_BETWEEN(取两个日期之间相隔的月数)

LAST_DAY(取指定日期所在月的最后一天)

示例语句:

取当前数据库系统的时间

SELECT SYSDATE FROM DUAL;

以特定的时间格式显示

SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

更改当前会话(SESSION)的方式,来统一设置当前会话日期显示格式

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

显示后一个月的时间

SELECT ADD_MONTHS(SYSDATE,1) FROM DUAL;

显示前一个月的时间

SELECT ADD_MONTHS(SYSDATE,-1) FROM DUAL;

显示后一个月和前一个月之间的月数

SELECT MONTHS_BETWEEN(ADD_MONTHS(SYSDATE,1),ADD_MONTHS(SYSDATE,-1)) FROM DUAL;

显示本月最后一天的时间

SELECT LAST_DAY(SYSDATE) FROM DUAL;

ROUND(DATE,'FORMAT_STRING) 

功能:按日期掩码的格式对给定的日期DATE进行舍入

SELECT ROUND (SYSDATE,'YYYY'),ROUND(SYSDATE,'MM'),ROUND(SYSDATE,'DD') FROM DUAL;

TRUNC(DATE,'FORMAT_STRING)

功能:按日期掩码的格式对给定的日期DATE进行截取

SELECT TRUNC(SYSDATE,'YYYY'),TRUNC(SYSDATE,'MM'),TRUNC(SYSDATE,'DD') FROM DUAL;

TO_CHAR(date, ‘format_string’)(按照时间掩码format_string的格式要求,将日期型数据date转换为字符型数据)

TO_DATE(‘string’, ‘format_string’)(将字符型数据string按照时间掩码format_string的格式要求,转换为相应的日期型数据)



掩码元素



含义



YYYY



四位数年份 (如:2005)



YY



二位数年份(如 05)



Q



季度(1-4)



MM



月份(01-12)



WW



年的星期数(1-53),其中第一星期为年的第一天至第七天



W



月的星期数(1-5),其中第一星期为月的第一天至第七天



DDD



年的日(1-366)



DD



月的日(1-31)



D



周的日(1-7),其中周日为1,周六为7



HH24 



24小时制(0-23)



MI



分钟(0-59)



SS



秒(0-59)



SSSSS



自午夜之后的秒(0-86399)


 

查看当前日期的年份,月份,日期,小时,分钟

SELECT TO_CHAR(SYSDATE,'YYYY') YEAR,TO_CHAR(SYSDATE,'MM') MONTH,TO_CHAR(SYSDATE,'DD') DAY,

TO_CHAR(SYSDATE,'HH24') HOUR,TO_CHAR(SYSDATE,'MI') MINUTE,TO_CHAR(SYSDATE,'SS') S

FROM DUAL;

查看当前日期是在本年的第几个季度

SELECT TO_CHAR(SYSDATE,'Q') FROM DUAL;

查看当前日期是在本年的第几个星期,在本月的第几周

SELECT TO_CHAR(SYSDATE,'WW'),TO_CHAR(SYSDATE,'W') FROM DUAL;

查看当前日期是在本年的第几天,在本周的第几天(周日为1,周六为7)

SELECT TO_CHAR(SYSDATE,'DDD'),TO_CHAR(SYSDATE,'D') FROM DUAL;