Oracle的日期函數to_char、to_date、add_months、months_between、extract
1.sysdate:顯示系統當前日期
select sysdate from dual;
結果:2010-7-1 10:53:49
select sysdate+2 from dual;在當前的時間上加2天,一般不要這麼用
結果:2010-7-3 10:56:58
2.順便提一下to_char(),可以對日期進行格式化:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
格式化後,結果不是date型了。
3.add_months:對月進行加減操作
select sysdate 原時間,add_months(sysdate,5) 月加5後的時間 from dual;
結果:2010-7-1 11:01:57 2010-12-1 11:01:57
同樣可以用to_char進行格式化,在條件判斷的時候挺有用的。
4.months_between:計算2個月份之間的差,參數必須是日期類型,前參數-後參數
select months_between(to_date(200906,'yyyymm'),to_date(201006,'yyyymm')) from dual;
結果:-12
5.to_date:將數字或字符串,按嚴格的格式轉換成日期類型
select to_date(20100621,'yyyy:mm:dd') from dual;
結果:2010-6-21
看到結果,可以知道,無論格式怎樣,最後都是以“—”分隔,但是,如果你格式這麼寫'yyyy年mm月dd日',就會報錯。
6.extract:找出日期屬性的對應字段值,extract(data_field from date),data_field(year,month,day等)
select extract(day from sysdate) from dual;
結果:加入當前日期是2011-07-11,值爲11