当前位置:数据库 > Oracle >>

ORACLE之简单函数(TWO)

ORACLE之简单函数(TWO)
 
      一)日期函数:
 
       1)sysdate函数:
 
           该函数用数据库的时区,返回date值:
eg:
 
[sql] 
SYS@orcl#select sysdate from dual;  
  
SYSDATE  
--------------  
08-4月 -13  
  
SYS@orcl#  
        2)months_between()函数

       该函数返回两个时间之差的日期月份。
eg:

[sql] 
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:

[sql] 
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:

[sql] 
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:

[sql] 
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:

[sql] 
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:

[sql] 
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#  

 


CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,