數字轉時間間隔格式處理

regonly1發表於2011-02-11
Oracle中,我們知道to_date函式可以將字串轉換成時間格式,那如何將數字型別的值轉換為日期interval型別的值呢?一共有以下幾種方式,總結如下:
1.interval轉換
雖然前面說的是數字的轉換,但實際上在這裡還是將字串的轉換
如將當前時間加1小時30分鐘20秒,則可以如下:
select sysdate + interval '1:30:20' hour to second from dual
以上是比較複雜的用法,也可以是直接的數字:
select sysdate + interval '7' hour from dual

2.numtodsinterval轉換
該函式用於將數字轉換成天到秒(day to second)
比如:
select sysdate + numtodsinterval(10,'day') from dual --10天
select sysdate + numtodsinterval(10,'minute') from dual --10分鐘
同樣,也還可以是hour/second
該函式相當於 interval 'n' hour / interval 'n' minute

3.numtoyminterval轉換
該函式用於將數字轉換成年到月(year to month)
比如:
select sysdate + numtoyminterval(10,'year') from dual;--10年
用法與上述方式類似


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-687034/,如需轉載,請註明出處,否則將追究法律責任。

相關文章