ORACLE 時間加減操作

2022-07-12 19:03:13 字數 2190 閱讀 3338

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

來我的懷裡,或者讓我住進你心裡,yy

oracle 時間加減

select sysdate,sysdate numtodsinterval 40,second from dual 對當前日期增加40秒 select sysdate,sysdate numtodsinterval 10,minute from dual 對當前日期增加10分鐘 select sy...

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 ...

oracle加減操作

無論是date還是timestamp都可以進行加減操作。可以對當前日期加年 月 日 時 分 秒,操作不同的時間型別,有三種方法 1 使用內建函式numtodsinterval增加小時,分鐘和秒 2 加乙個簡單的數來增加天 3 使用內建函式add months來增加年和月 例 對當前日期增加乙個小時 ...