無論是date還是timestamp都可以進行加減操作。
可以對當前日期加年、月、日、時、分、秒,操作不同的時間型別,有三種方法:
1 使用內建函式numtodsinterval增加小時,分鐘和秒
2 加乙個簡單的數來增加天
3 使用內建函式add_months來增加年和月
例:對當前日期增加乙個小時:
sql> select sysdate, sysdate+numtodsinterval(1,』hour』) from dual ;
sysdate sysdate+numtodsinte
——————- ——————-
2010-10-14 21:38:19 2010-10-14 22:38:19
對當前日期增加50分種
sql> select sysdate, sysdate+numtodsinterval(50,』minute』) from dual ;
sysdate sysdate+numtodsinte
——————- ——————-
2010-10-14 21:39:12 2010-10-14 22:29:12
對當前日期增加45秒
sql> select sysdate, sysdate+numtodsinterval(45,』second』) from dual ;
sysdate sysdate+numtodsinte
——————- ——————-
2010-10-14 21:40:06 2010-10-14 21:40:51
對當前日期增加3天
sql> select sysdate, sysdate+3 from dual ;
sysdate sysdate+3
——————- ——————-
2010-10-14 21:40:46 2010-10-17 21:40:46
對當前日期增加4個月
sql> select sysdate, add_months(sysdate,4) from dual ;
sysdate add_months(sysdate,
——————- ——————-
2010-10-14 21:41:43 2011-02-14 21:41:43
當前日期增加2年
sql> select sysdate, add_months(sysdate,12*2) from dual ;
sysdate add_months(sysdate,
——————- ——————-
2010-10-14 21:42:17 2012-10-14 21:42:17
timestamp的操作方法與上面類似;
求兩個日期之差:
例:求2007-5-23 21:23:34與當前時間之間的差值。
sql> select sysdate-to_date(』20070523 21:23:34′,』yyyy-mm-dd hh24:mi:ss』) dt from
dual ;
dt———-
1240.01623
如果兩個日期直接相減,得到的結果是乙個資料型,我們可能想要得到兩個日期相差值表現形式為:
**年**月**日 **:**:**
sql> select numtoyminterval(months_between(dt1, dt2), 『month』) mon,
2 numtodsinterval(dt1-(add_months(dt2,trunc(months_between(dt1, dt2)))
),』day』) day
3 from (select sysdate dt1,
4 to_date(』20070523 21:23:34′, 『yyyy-mm-dd hh24:mi:ss』) dt2
5 from dual)
6 ;mon day
—————- ———————-
+000000003-04 +000000021 00:40:15.999999999
即:3年 4 個月 21 天 00:40:15.99999999
ORACLE 日期加減操作
oracle 日期加減操作 無論是date還是timestamp都可以進行加減操作。可以對當前日期加年 月 日 時 分 秒,操作不同的時間型別,有三種方法 1 使用內建函式numtodsinterval增加小時,分鐘和秒 2 加乙個簡單的數來增加天 3 使用內建函式add months來增加年和月 ...
ORACLE 日期加減操作
無論是date還是timestamp都可以進行加減操作。可以對當前日期加年 月 日 時 分 秒,操作不同的時間型別,有三種方法 1 使用內建函式numtodsinterval增加小時,分鐘和秒 2 加乙個簡單的數來增加天 3 使用內建函式add months來增加年和月 例 對當前日期增加乙個小時 ...
ORACLE 日期加減操作
無論是date還是timestamp都可以進行加減操作。可以對當前日期加年 月 日 時 分 秒,操作不同的時間型別,有三種方法 1 使用內建函式numtodsinterval增加小時,分鐘和秒 2 加乙個簡單的數來增加天 3 使用內建函式add months來增加年和月 例 對當前日期增加乙個小時 ...