Oracle 幾個簡單的日期函數

Oracle系統中,有如下幾個經常使用的日期函數:

1、Months_Between()

格式:Months_Between(startdate,enddate)

統計startdate到enddate之前總共有多少個月份;

用法:select months_between(to_date('1998-12-12','YYYY-MM-DD'),to_date('1988-12-12','YYYY-MM-DD')) from dual;--結果爲120,即10年;

在調用日期函數時,常常會因爲sql中的日期格式同系統格式不統一,倒是查詢報ora-01843錯誤,遇到這種問題,可以通過如下語句查詢DB默認的參數信息,或者直接使用日期函數to_date(date,formate)將日誌格式統一掉;

select * from nls_database_parameters

2、Add_Months()

格式:Add_months(startdate,months)

計算從startdate算起,第“mounts”月份後的日期;

用法:select sysdate from dual;--結果爲:2013/5/31 10:53:05

           select add_months(sysdate,10) from dual;--結果爲:2014/3/31 10:53:55

3、Next_Day()

格式:Next_Day(date,nextweek)

計算從日期date起,下一個nextweek的日期;

用法:select next_day(to_date('1999-01-01','YYYY-MM-DD'),'星期一') from dual;--結果爲:1999/1/4

4、Last_Day()

格式:Last_Day(startday)

計算startday這個日期本月的最後一天的日期;

用法:select last_day(to_date('1999-01-01','YYYY-MM-DD')) from dual;--結果爲:1999/1/31

5、日期函數可以同日期或者數字進行加減運算:

日期+數字=日期

select to_date('1999-12-12','YYYY-MM-DD')-12 from dual;--結果爲:1999/11/30

日期-數字=日期

select to_date('1999-12-12','YYYY-MM-DD')+12 from dual;--結果爲:1999/12/24

日期-日期=數字

select to_date('1999-12-12','YYYY-MM-DD')-to_date('1999-12-01','YYYY-MM-DD') from dual;--結果爲:11

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章