您好,登錄后才能下訂單哦!
這篇文章主要介紹了Oracle中日期函數(shù)有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
SYSDATE函數(shù)沒有參數(shù),它返回?cái)?shù)據(jù)庫服務(wù)器當(dāng)前的系統(tǒng)日期和時(shí)間。
select sysdate from dual;
Date1-Date2=Num1
可以從另一個日期中減去日志。這兩個日期項(xiàng)之間的差值表示它們之間的天數(shù)??梢詫⑺袛?shù)字(包括小數(shù))添加到日期項(xiàng)或者從日期項(xiàng)中減去。在該上下文中,數(shù)字表示天數(shù)。數(shù)字和日期項(xiàng)之間的和或者差值總是返回日期項(xiàng)。不允許相加、相乘或者相除兩個日期項(xiàng)。
select to_date('31-jan-01')-to_date('01-jan-01') from dual;
select sysdate + 1 from dual;
MONTHS_BETWEEN函數(shù)返回表示兩個強(qiáng)制的日期參數(shù)之間月數(shù)的數(shù)值。語法:MONTHS_BETWEEN(date1,date2)。計(jì)算date1和date2之間朋份的差值(每月31天)。如果date1在date2之前就反加負(fù)數(shù)。這兩個日期參數(shù)之間的差值可能由整數(shù)和小數(shù)部分組成。整數(shù)表示這兩個日期之間的朋數(shù)。小數(shù)部分表示計(jì)算年和月之間整數(shù)差值這后剩余的天數(shù)和時(shí)間,以31天的月份為基礎(chǔ)。如果要比較的日期的日組成部分相同或者是各自月份的最后一天,那么就返回沒有小數(shù)部分的整數(shù)。
select months_between(sysdate,sysdate-31) from dual;
select months_between('29-mar-2008','28-feb-2008') from dual;
select months_between('29-mar-2008','28-feb-2008')*31 from dual;
ADD_MONTHS函數(shù)返回日期項(xiàng),這個日期項(xiàng)通過將指定月數(shù)添加到給定日期計(jì)算得出。
ADD_MONTHS函數(shù)有兩個強(qiáng)制參數(shù)。語法:ADD_MONTHS(start date,number of months)。在將指定的月數(shù)添加到start date之后,函數(shù)才計(jì)算目標(biāo)日期。月數(shù)可能是負(fù)數(shù),這樣返回的目標(biāo)日期就早于起始日期。number of months可以是小數(shù),但會忽略小數(shù)部分,而使用整數(shù)部分。
select add_months('07-APR-2009',1) from dual;
select add_months('07-APR-2009',2.5) from dual;
select add_months('07-APR-2009',-12) from dual;
NEXT_DAY函數(shù)返回的日期是星期內(nèi)指定的日子下一次出現(xiàn)時(shí)的日期。
NEXT_DAY函數(shù)有兩個強(qiáng)制參數(shù)。語法:NEXT_DAY(start date,day of the week)。函數(shù)計(jì)算在start date之后day of the week參數(shù)下一次出現(xiàn)的日期。day of the week參數(shù)可以是字符值或者整數(shù)值??山邮艿闹涤蒒LS_DATE_LANGUATE數(shù)據(jù)庫參數(shù)確定,但默認(rèn)值至少是日子名稱的前三個字符或者整數(shù)值,其中1表示星期日,2表示星期一,以此類推。在任何情況下都應(yīng)該指定表示星期幾的字符值。簡短名稱可以大于三個字符,例如星期日可以表示為sun、sund、sunda或者sunday。
select next_day('01-JAN-2009','tue') from dual;
select next_day('01-JAN-2009','WEDNE') from dual;
select next_day('01-JAN-2009',5) from dual;
LAST_DAY函數(shù)返回指定日子所屬的月的最后一天的日期。
LAST_DAY函數(shù)有一個強(qiáng)制參數(shù)。語法:LAST_DAY(start date)。該函數(shù)提取start date參數(shù)所屬的月,并計(jì)算該月最后一天的日期。
select LAST_DAY('01-JAN-2009') from dual;
日期ROUND函數(shù)依據(jù)指定的日期精度格式對值進(jìn)行舍入運(yùn)算。返回的值要么向上舍入要么向下舍入為最接近的日期精度格式。
日期ROUND函數(shù)使用一個強(qiáng)制參數(shù)和一個可選參數(shù)。語法:ROUND(source date[,date precision format])。source date參數(shù)表示任意日期項(xiàng)。date precision format參數(shù)指定舍入的精度,是可選的,如果沒有指定,默認(rèn)的舍入精度是日。date precision formats 包括世紀(jì)(CC)、年(YYYY)、季度(Q)、月(MM)、星期(W)、日(DD)、時(shí)(HH)和分(MI)。
向上傳入到世紀(jì)相當(dāng)于給當(dāng)前世紀(jì)加1個世紀(jì)。如果日部分大于16,就會向上舍入到下一個月,否則就會向下舍入到當(dāng)月的開頭。如果月在1和6之間,那么舍入到年就會返回當(dāng)年開頭的日期,否則返回下一年開頭的日期。
select round(sysdate) day,round(sysdate,'w') week,round(sysdate,'month') month,round(sysdate,'year') year from dual;
select round(sysdate,'cc') cc,round(sysdate,'q') q,round(sysdate,'hh'),round(sysdate,'mi') min hour from dual;
日期TRUNC函數(shù)依據(jù)指定的日期精度格式對值進(jìn)行截取運(yùn)算。
日期TRUNC函數(shù)使用一個強(qiáng)制參數(shù)和一個可選參數(shù)。語法:TRUNC(source date[,date precision format])。source date參數(shù)表示任意日期項(xiàng)。date precision format 參數(shù)指定截取的精度,它是可選的,如果沒有指定,默認(rèn)的截取精度是日。即source date的所有時(shí)間部分都設(shè)置為午夜(00:00:00)。月級別上的截取將source date的日期設(shè)置為該月的第一天。年級別上的截取返回當(dāng)年開頭的日期。
select trunc(sysdate) day,trunc(sysdate,'w') week,trunc(sysdate,'month') month,trunc(sysdate,'year') year from dual;
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Oracle中日期函數(shù)有哪些”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。