ORACLE 毫秒與日期的相互轉換,oracle相互轉換
毫秒轉換為日期
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小時制。
oracle 中將系統時間轉換為毫秒的sql 怎寫?
這個問題。。。。
給你個詳細的回答吧 以後就不再擔憂這方面的任何問題
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......餘下全文>>
oracle日期類型資料相互轉換問題
SQL> select extract(day from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*24*60*60
2 +extract(hour from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*60*60
3 +extract(minute from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*60
4 +extract(second from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))
5 from dual;
EXTRACT(DAYFROM(TO_DATE('2012-
------------------------------
1336749024
SQL> select to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')+numtodsinterval(1336749024,'SECOND')from dual;
TO_DATE('1970-01-0100:00:00','
------------------------------
2012-5-11 下午 03:10:24
SQL>
以上互為驗證,如有協助請採納