oracle 中时间类型 date 与 long 互转

 

在保存时间到数据库时,有时候会保存long型的数据,固定长度是13位,是用当前时间减去1970-01-01,再换算成毫秒得到的结果。

 

oracle中的实现方式:

 

 

--日期转换毫秒

SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30: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(1112070645000 / (1000 * 60 * 60 * 24) +
       TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS') AS CDATE
FROM DUAL;

你可能感兴趣的:(oracle,long转date,date转long)