oracle 對日期操作

在SQL Server 裏的日期數據,我們經常可以用 字段<=’2008-5-20’這樣的表達式,但在oracle卻不可以,因爲數據類型不一樣 字段是date型,’2008-5-20’是字符型,需要用to_char 或者to_number轉換成相同的類型才能進行比較。
剛開始這讓我覺得不習慣,覺得不好,不過時間長了,覺得也有不少便利之處,尤其是配合trunc啊,to_char之類的,下面簡單寫一下常用的一些對日期的操作
     SELECT SYSDATE  FROM DUAL   取當前系統時間
     Select trunc(sysdate) from dual 取當前日期
     Select trunc(sysdate,’YYYY’) from dual 取當前月的第一天
   Select trunc(sysdate,’YYYY’) from dual取當年的元旦
     Select to_char(sysdate,’ss’) from dual取當前時間秒部分
Select to_char(sysdate,’mi’) from dual取當前時間分鐘部分
Select to_char(sysdate,’HH24’) from dual取當前時間秒小時部分
Select to_char(sysdate,’DD’) from dual取當前時間日期部分
Select to_char(sysdate,’MM’) from dual取當前時間月部分
Select to_char(sysdate,’YYYY’) from dual取當前時間年部分
Select to_char(sysdate,’w’) from dual取當前時間秒部分
Select to_char(sysdate,’w’) from dual取當前時間是一個月中的第幾周(從1日開始算)
Select to_char(sysdate,’iw’) from dual取當前時間是一年中的第幾周(按實際日曆的)
Select to_char(sysdate,’d’) from dual取當前時間是一週的第幾天,從星期天開始,週六結束
Select to_char(sysdate,'day') from dual 取當前日是星期幾,和數據庫設置的字符集有關,會輸出’Tuesday’
Select to_char(sysdate,'ddd') from dual 當前日是一年中的第幾天

Select Add_months(sysdate,12) from dual 取一年後的今天

Select sysdate-(sysdate-100) from dual 取兩個日期之間的天數
Select (sysdate-(sysdate-100))*1440 from dual 取兩個日期之間的分鐘數
Select (sysdate-(sysdate-100))*1440*60 from dual 取兩個日期之間的秒數
Select months_between(sysdate,sysdate-100) from dual 取兩個日期間隔的月份
Select last_day(sysdate) from dual 取當前月的最後天
Select next_day(sysdate,’1’) from dual 取當前日之後第一個星期天,裏面的’1’表示取星期日,如果今天正好是星期日,則會顯示下一個星期日
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章