numtodsinterval(<x>,<c>) ,x是一個數字,c是一個字符串,
表明x的單位,這個函數把x轉為interval day to second數據類型
表明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;