毫秒轉換為日期
SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS CDATE FROM DUAL;
日期轉換毫秒
SELECT TO_NUMBER(TO_DATE('2014-07-28 17:12:45', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000 FROM DUAL;
獲取系統當前時間
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
注意:毫秒轉換為日期 格式化的時間可以是12小時制和24小時制。
兩個數做差 可以按照天計算啊
select to_char(sysdate,'yyyymmdd')-to_char(日期列,'yyyymmdd') from table;
還有要算毫秒的話,可以先轉成小時然後分然後轉成秒,再*1000就是毫秒了。1秒=1000毫秒。
這個問題。。。。
給你個詳細的回答吧 以後就不再擔憂這方面的任何問題
Oracle計算時間差表達式
--獲取兩時間的相差豪秒數
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;
/*
相差小時數
----------
25
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'))) 相差天數 FROM DUAL;
/*
相差天數
----------
2
1 row selected
*/
----------------------------------------
注:天數可以2個日期直接減,這樣更加方便
----------------------------------------
--獲取兩時間月份差
select (EXTRACT(year......余下全文>>