日期函数操作DATE数据类型,绝大多数都有DATE数据类型的参数,绝大多数返回的也是DATE数据类型的值。
1.
ADD_MONTHS(d,i)
返回日期d加上i个月后的结果。i可以是任意整数。如果i是一个小数,那么数据库将隐式地将其转换成整数,将会截去小数点后面的部分。例如:
SELECT
ADD_MONTHS(SYSDATE,2) RESULTS FROM DUAL
返回结果:
RESULTS
2010-2-28 14:05:27
2.
LAST_DAY(d)
函数返回包含日期d的月份的最后一天。例如:
SELECT LAST_DAY(SYSDATE)
RESULTS FROM DUAL
返回结果:
RESULTS
2009-12-31 14:07:54
3.
MONTHS_BETWEEN(d1,d2)
返回d1和d2之间月的数目,如果d1和d2的日期都相同,或者都是该月的最后一天,那么将返回一个整数,否则返回的结果将包含一个分数。例如:
SELECT
MONTHS_BETWEEN(ADD_MONTHS(SYSDATE,2),SYSDATE) RESULTS FROM DUAL
返回结果:
RESULTS
2
4.
NEW_TIME(d1,tz1,tz2)
d1是一个日期数据类型,当时区tz1中的日期和时间是d时,返回时区tz2中的日期和时间。tz1和tz2是字符串。例如:
SELECT
NEW_TIME(SYSDATE,'PST','EST') RESULTS FROM DUAL
返回结果:
RESULTS
2009-12-31 17:20:32
5.
NEXT_DAY(d,char)
该函数用于返回指定日期后的第一个工作日(由char指定)所对应的日期。例如:
SELECT
NEXT_DAY(SYSDATE,'星期二') RESULTS FROM DUAL
返回结果:
RESULTS
2010-1-5 14:25:55
6.
SYSDATE
函数没有参数,返回当前日期和时间。例如:
SELECT SYSDATE RESULTS FROM
DUAL
返回结果:
RESULTS
2009-12-31 14:27:58
7.
TRUNC(d,[fmt])
返回由fmt指定的单位的日期d。例如:
SELECT
TRUNC(SYSDATE,'YYYY') YEAR, TRUNC(SYSDATE,'MM')
MONTH,TRUNC(SYSDATE,'DD') DAY FROM DUAL
返回结果:
YEAR MONTH DAY
2009-1-1 2009-12-1 2009-12-31