欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ORACLE中的日期加減操作實(shí)例介紹

 更新時(shí)間:2015年04月16日 10:24:15   投稿:junjie  
這篇文章主要介紹了ORACLE中的日期加減操作實(shí)例介紹,本文講解了對(duì)當(dāng)前日期增加一個(gè)小時(shí)、對(duì)當(dāng)前日期增加50分種、對(duì)當(dāng)前日期增加45秒、對(duì)當(dāng)前日期增加3天、對(duì)當(dāng)前日期增加4個(gè)月等內(nèi)容,需要的朋友可以參考下

無論是DATE還是timestamp都可以進(jìn)行加減操作。
可以對(duì)當(dāng)前日期加年、月、日、時(shí)、分、秒,操作不同的時(shí)間類型,有三種方法:

1 使用內(nèi)置函數(shù)numtodsinterval增加小時(shí),分鐘和秒
2 加一個(gè)簡(jiǎn)單的數(shù)來增加天
3 使用內(nèi)置函數(shù)add_months來增加年和月

例:
對(duì)當(dāng)前日期增加一個(gè)小時(shí):

復(fù)制代碼 代碼如下:

SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:38:19 2010-10-14 22:38:19


對(duì)當(dāng)前日期增加50分種
復(fù)制代碼 代碼如下:

SQL> select sysdate, sysdate+numtodsinterval(50,'minute') from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:39:12 2010-10-14 22:29:12


對(duì)當(dāng)前日期增加45秒
復(fù)制代碼 代碼如下:

SQL> select sysdate, sysdate+numtodsinterval(45,'second') from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:40:06 2010-10-14 21:40:51


對(duì)當(dāng)前日期增加3天
復(fù)制代碼 代碼如下:

SQL> select sysdate, sysdate+3 from dual ;

SYSDATE             SYSDATE+3
——————- ——————-
2010-10-14 21:40:46 2010-10-17 21:40:46


對(duì)當(dāng)前日期增加4個(gè)月
復(fù)制代碼 代碼如下:

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


當(dāng)前日期增加2年
復(fù)制代碼 代碼如下:

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的操作方法與上面類似;
求兩個(gè)日期之差:
例:求2007-5-23 21:23:34與當(dāng)前時(shí)間之間的差值。
復(fù)制代碼 代碼如下:

SQL> select sysdate-to_date('20070523 21:23:34′,'yyyy-mm-dd hh24:mi:ss') dt from
dual ;

DT
———-
1240.01623


如果兩個(gè)日期直接相減,得到的結(jié)果是一個(gè)數(shù)據(jù)型,我們可能想要得到兩個(gè)日期相差值表現(xiàn)形式為:
**年**月**日 **:**:**
復(fù)制代碼 代碼如下:

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 個(gè)月 21 天 00:40:15.99999999

相關(guān)文章

最新評(píng)論