oracle兩時間相減得到相差的時間


1.months_between(date1,date2);date1和date2相減得到相差的月份。

   select months_between(to_date('2015-05-11','yyyy-MM-dd'),to_date('2015-04-11','yyyy-MM-dd')) from dual ;相差一個月。

2.ceil(date1-date2);date1-date2相減得到相差的天數

   select ceil(To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') )from dual ;相差30天。

3.獲取兩時間相差的豪秒數 ceil((date1 - date2) * 24 * 60 * 60 * 1000)

  select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 *  1000)  FROM DUAL;

4.獲取兩時間相差的秒數 ceil((date1 - date2) * 24 * 60 * 60 )
   select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 )  FROM DUAL;

5.獲取兩時間相差的分鍾數 ceil((date1 - date2) * 24 * 60 )

    select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60  )  FROM DUAL;

6.獲取兩時間相差小時數 ceil((date1 - date2) * 24 )

 select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 )  FROM DUAL;

7.其他

   select sysdate,add_months(sysdate,12) from dual;  --加1年

   select sysdate,TO_CHAR(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1天 

   select sysdate,TO_CHAR(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小時

   select sysdate,TO_CHAR(sysdate+1/24/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1分鍾

  select sysdate,TO_CHAR(sysdate+1/24/60/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1秒

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM