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;

原文地址:https://it586.iteye.com/blog/1716768

猜你喜欢

转载自blog.csdn.net/u011974797/article/details/87916393