oracle減法函式mius oracle加減操作

2021-10-13 03:31:04 字數 1989 閱讀 2325

無論是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 ;

dt1240.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 的加減法函式

加法 select sysdate,add months sysdate,12 from dual 加1年 select sysdate,add months sysdate,1 from dual 加1月 select sysdate,to char sysdate 7,yyyy mm dd hh...

oracle日期時間的加減法

加法 select sysdate,add months sysdate,12 from dual 加1年 select sysdate,add months sysdate,1 from dual 加1月 select sysdate,to char sysdate 7,yyyy mm dd hh...

Oracle對日期實現加減法

sysdate 1 加一天 sysdate 1 24 加1小時 sysdate 1 24 60 加1分鐘 sysdate 1 24 60 60 加1秒鐘 類推至毫秒0.001秒 加法 select sysdate,add months sysdate,12 from dual 加1年 select ...