ORACLE 之 简单函数(TWO)
一)日期函数:
1)sysdate函数:
该函数用数据库的时区,返回date值:
eg:
SYS@orcl#select sysdate from dual;
SYSDATE
--------------
08-4月 -13
SYS@orcl#
2)months_between()函数
该函数返回两个时间之差的日期月份。
eg:
SYS@orcl#select months_between(to_date('2012-02-03','yyyy-mm-dd'),to_date('2013-02-03',
2 'yyyy-mm-dd')) from dual;
MONTHS_BETWEEN(TO_DATE('2012-02-03','YYYY-MM-DD'),TO_DATE('2013-02-03','YYYY-MM-
--------------------------------------------------------------------------------
-12
SYS@orcl#select months_between(to_date('2013-02-03','yyyy-mm-dd'),to_date('2012-02-03',
2 'yyyy-mm-dd')) months_between from dual;
MONTHS_BETWEEN
--------------
12
3)add_months()函数
该函数在指定x月份后添加一个月份然后得到一个date值。
eg:
SYS@orcl#select add_months(to_date('2012-02-03','yyyy-mm-dd'),2) add_months from dual;
ADD_MONTHS
--------------
03-4月 -12
SYS@orcl#select add_months(to_date('2012-02-03','yyyy-mm-dd'),-2) add_months from dual;
ADD_MONTHS
--------------
03-12月-11
SYS@orcl#
4)next_day()函数
该函数表示对于x中日期之后,y星期几第一次出现的时间值:
eg:
SYS@orcl#select next_day(to_date('2013-04-08','yyyy-mm-dd'),2) next_day from dual;
NEXT_DAY
--------------
15-4月 -13
SYS@orcl#
5)last_day()函数
该函数返回包含了日期参数x的月份的最后一天的日期:
eg:
SYS@orcl#select last_day(to_date('2013-04-08','yyyy-mm-dd')) last_day from dual;
LAST_DAY
--------------
30-4月 -13
SYS@orcl#
6)round()函数
该函数用于对x取整,默认情况,x取最近的一天,如果后边指定其他的日期如yyyy,那么表示取最近一年的第一天
eg:
SYS@orcl#select round(to_date('2013-04-08','yyyy-mm-dd')) round from dual;
ROUND
--------------
08-4月 -13
SYS@orcl#select round (to_date('2013-04-08 12:23:23','yyyy-mm-dd hh24:mi:ss')) round from dual;
ROUND
--------------
09-4月 -13
SYS@orcl#select round(to_date('2013-04-08','yyyy-mm-dd'),'yyyy') from dual;
ROUND(TO_DATE(
--------------
01-1月 -13
SYS@orcl#
7)trunc()函数
用于对x日期的阶段,默认截断当天的开始时间,后边可以指定y,可以截断年的第一天,月的第一天
eg:
SYS@orcl#select trunc(to_date('2013-04-08 23:23:12','yyyy-mm-dd hh24:mi:ss')) trunc from dual;
TRUNC
--------------
08-4月 -13
SYS@orcl#select trunc(to_date('2013-04-08','yyyy-mm-dd'),'mm') trunc from dual;
TRUNC
--------------
01-4月 -13
SYS@orcl#