Oracle計算時間函數(numtodsinterval、numtoyminterval)


 

numtodsinterval(<x>,<c>) ,x是一個數字,c是一個字符串,
表明x的單位,這個函數把x轉為interval day to second數據類型
常用的單位有 ('day','hour','minute','second')
example
SQL> select sysdate,sysdate+numtodsinterval(3,'hour') as res from dual;
SYSDATE             RES ------------------- -------------------
2007-09-05 01:45:34   2007-09-05 04:45:34
 
numtoyminterval 與numtodsinterval函數類似,將x轉為interval year to month數據類型
常用的單位有'year','month'
example
SQL> select sysdate,sysdate+numtoyminterval(3,'year') as res from dual;
SYSDATE             RES ------------------- -------------------
2007-09-05 01:54:53   2010-09-05 01:54:53

-----------------------------------------------------------------------------------------------------------------------

格式:NumToYMInterval(n, interval_unit);
n: 數值類型
interval_unit: 'YEAR', 'MONTH' ,或其他可以轉換成這兩個值之一的表達式
 
NumToYMInterval(1, 'YEAR') :一年后的間隔
NumToYMInterval(-1, 'MONTH'): 一個月前
 
小數會被計算成整數后,再做計算:
 
select sysdate + numtoyminterval(0.1, 'MONTH')  as future from dual;\
 
FUTURE
------------------
11-OCT-13
 
該函數的結果是:”INTERVAL YEAR TO MONTH literal“。不能與數值做運算。
select 1 + NumToYMInterval(1, 'MONTH') from dual
Oracle會返回一個錯誤。
 
做日期運算時,這個函數非常有用。例如:取一個月后的日期:
select sysdate + NumToYMInterval(1, 'MONTH') from dual;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM