oracle中時間的操作

2021-05-23 22:14:36 字數 2108 閱讀 2968

--獲取兩時間的相差豪秒數

select ceil((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒數 from dual;

/*相差豪秒數

----------

86401000

1 row selected

*/--獲取兩時間的相差秒數

select ceil((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒數 from dual;

/*相差秒數

----------

86401

1 row selected

*/--獲取兩時間的相差分鐘數

select ceil(((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60)  相差分鐘數 from dual;

/*相差分鐘數

----------

1441

1 row selected

*/--獲取兩時間的相差小時數

select ceil((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24)  相差小時數 from dual;

/*相差小時數

----------

251 row selected

*/--獲取兩時間的相差天數

select ceil((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')))  相差天數 from dual;

/*相差天數

----------

21 row selected

*/----------------------------------------

注:天數可以2個日期直接減,這樣更加方便

------------------------------------------獲取兩時間月份差

select (extract(year from to_date('2009-05-01','yyyy-mm-dd')) - extract(year from to_date('2008-04-30','yyyy-mm-dd'))) * 12 +

extract(month from to_date('2008-05-01','yyyy-mm-dd')) - extract(month from to_date('2008-04-30','yyyy-mm-dd')) months

from dual;

/*months

----------

131 row selected

*/--------------------------------------

注:可以使用months_between函式,更加方便

----------------------------------------獲取兩時間年份差

select extract(year from to_date('2009-05-01','yyyy-mm-dd')) - extract(year from to_date('2008-04-30','yyyy-mm-dd')) years from dual;

/*years

----------

1注:只要大家掌握好了to_char()  與to_date()的用法  一般在oracle中的型別轉換問題就不大了

oracle時間操作

1.日期時間間隔操作 當前時間減去7分鐘的時間 select sysdate,sysdate interval 7 minute from dual 當前時間減去7小時的時間 select sysdate interval 7 hour from dual 當前時間減去7天的時間 select sy...

oracle時間操作

在系統時間基礎上延遲5秒 sysdate 5 24 60 60 在系統時間基礎上延遲5分鐘 sysdate 5 24 60 在系統時間基礎上延遲5小時 sysdate 5 24 在系統時間基礎上延遲5天 sysdate 5 在系統時間基礎上延遲5月 add months sysdate,5 在系統時...

Oracle時間操作

在系統時間基礎上延遲5秒 select sysdate 5 24 60 60 from dual 在系統時間基礎上延遲5分鐘 select sysdate 5 24 60 from dual 在系統時間基礎上延遲5小時 select sysdate 5 24 from dual 在系統時間基礎上延遲...