我想将表中的纪元日期转换为时间戳。
但是当我在Oracle中运行它会导致错误。
但是当我从此链接“ https://www.epochconverter.com/'运行时,这一年显示为” 2465年4月22日,拉布,格林尼治标准时间+07:00“
15630394456289509085085900这张表的开始时间
select to_char(
cast(
to_date('01/01/1970 00:00:00','DD/MM/YYYY HH24:MI:SS')+15630394456289509085900/86400
as timestamp with local time zone)
,'YYYY-MM-DD HH24:MI:SS')
from dual
Epoch时间位于UTC时区。只需使用TIMESTAMP
文字并添加正确的秒数即可:
SELECT TIMESTAMP '1970-01-01 00:00:00 UTC'
+ NUMTODSINTERVAL(15630394456289509085900 / 86400e12, 'DAY') AS epoch_time_12,
TIMESTAMP '1970-01-01 00:00:00 UTC'
+ NUMTODSINTERVAL(15630394456289509085900 / 86400e13, 'DAY') AS epoch_time_13
FROM DUAL
哪个输出:
EPOCH_TIME_12 | EPOCH_TIME_13:-------------------------------- | :--------------------------------2465-04-22 08:14:16.289509086 UTC | 2019-07-13 17:37:25.628950909 UTC
db <>小提琴here