用來返回系統(tǒng)當前時間
SQL> select sysdate from dual;SYSDATE-------------------2017-03-03 09:49:25
語法: ADD_MONTHS(date,integer)
用于從一個日期值增加或減少一些月份
1) 返回系統(tǒng)時間一個月后的日期
SQL> select sysdate,add_months(sysdate,1) as "months+1" from dual;SYSDATE months+1------------------- -------------------2017-03-03 09:52:43 2017-04-03 09:52:43
2) 返回系統(tǒng)時間一年后的日期
SQL> select sysdate,add_months(sysdate,12) as "months+12" from dual;SYSDATE months+12------------------- -------------------2017-03-03 09:53:57 2018-03-03 09:53:57
3) 返回指定時間1月后的日期
SQL> select add_months('20170102',1) from dual;ADD_MONTHS('2017010-------------------2017-02-02 00:00:00
語法: LAST_DAY(date)
返回包含了日期參數(shù)的月份的最后一天的日期
SQL> select sysdate,last_day(sysdate) "last" from dual;SYSDATE last------------------- -------------------2017-03-03 14:52:27 2017-03-31 14:52:27
返回當前會話時區(qū)中的當前日期
SQL> select dbtimezone,sessiontimezone,current_date from dual;DBTIME SESSIONTIM CURRENT_DATE------ ---------- -------------------+00:00 +08:00 2017-03-03 14:55:06
語法:MONTHS_BETWEEN(date1,date2)
返回兩個日期之間的月份數(shù)
SQL> select months_between('20110301','20110201') as mb from dual; MB---------- 1
語法:NEXT_DAY(date,char)
返回由第二個參數(shù)指出的日子第一次出現(xiàn)的日期值
SQL> select next_day('2017-3-3','Friday') "next day" from dual;next day-------------------2017-03-10 00:00:00
SQL> select next_day('2017-3-3',6) "next day" from dual;next day-------------------2017-03-10 00:00:00
注: 1-7:代表周日-周六。
語法:TRUNC(date,fmt)
按照給出的要求將日期截斷
1) trunc函數(shù)處理日期,沒有fmt參數(shù),默認截取到日
SQL> select trunc(sysdate) from dual;TRUNC(SYSDATE)-------------------2017-03-03 00:00:00
2) 時間截取到小時,分鐘
SQL> select trunc(sysdate,'hh') "hh",trunc(sysdate,'mi') "mi" from dual;hh mi------------------- -------------------2017-03-03 15:00:00 2017-03-03 15:34:00
3) 返回本周周一
SQL> select trunc(sysdate,'iw') from dual;TRUNC(SYSDATE,'IW')-------------------2017-02-27 00:00:00
4) 返回本周周日
SQL> select trunc(to_date('2008.08.08','yyyy.mi,ss'),'d') from dual;TRUNC(TO_DATE('2008-------------------2008-02-24 00:00:00
SQL> select round(dd,'month'),round(dd,'year'),trunc(dd,'month'),trunc(dd,'year') from 2 (select to_date('2008-08-15','yyyy-mm-dd')as dd from dual);ROUND(DD,'MONTH') ROUND(DD,'YEAR') TRUNC(DD,'MONTH') TRUNC(DD,'YEAR')------------------- ------------------- ------------------- -------------------2008-08-01 00:00:00 2009-01-01 00:00:00 2008-08-01 00:00:00 2008-01-01 00:00:00
新聞熱點
疑難解答
圖片精選