Oracle是我一直都沒有接觸過的資料庫自然就很不熟囉
不過最近開始在使用了
就把一些有用過的慢慢的記下來
防止以後忘了沒地方可以找
下面是日期運算的方式
select TO_CHAR(SYSDATE - INTERVAL '3' YEAR, 'YYYYMMDDHH24') ToYEAR, --=>從系統日期算起往前 3 年 TO_CHAR(SYSDATE - INTERVAL '3' month, 'YYYYMMDDHH24') ToMONTH, --=>從系統日期算起往前 3 個月 TO_CHAR(SYSDATE - INTERVAL '30' DAY, 'YYYYMMDDHH24') ToDay, --=>從系統日期算起往前 30 天 TO_CHAR(SYSDATE - INTERVAL '30' HOUR, 'YYYYMMDDHH24') ToHOUR, --=>從系統日期算起往前 30 小時 TO_CHAR(SYSDATE - INTERVAL '30' minute, 'YYYYMMDD HH24:MI:SS') ToMinute, --=>從系統日期算起往前 30 分鍾 TO_CHAR(SYSDATE - INTERVAL '50' second,'YYYYMMDD HH24:MI:SS') ToSecond, --=>從系統日期算起往前 50 秒 SYSDATE --系統日期 from xxx 結果: 2007060313 2010030313 2010050413 2010060207 20100603 12:39:36 20100603 13:08:46 2010/6/3 下午 01:09:36
文章標籤
全站熱搜

推一把!
鴨爸你好~ 看了你這篇之後覺得很實用 不過我實際用上的時候遇到了一個問題 select trunc(sysdate) + interval '99' day from dual 系統日期+ 99天 沒有問題 可是如果+100天 以上的數字就會發生錯誤, 錯誤訊息 : 間隔的前置精確度太小 想請問鴨爸 那應該要怎麼處理好勒 小弟是新手 希望鴨爸不吝嗇賜教~~ 感謝感謝~~
select TO_CHAR(SYSDATE - INTERVAL '100' DAY(3), 'YYYYMMDD') from dual; 這樣就可以了,不過這樣最多3位數,如果要1000(千)或10000(萬),請修正一下day(x),應該就沒有問題了!!
哇! 鴨爸真是太感謝了,這樣的方法聰明又方便 真是太感謝了!!!!!3Q!!