如何将Epoch时间转换为日期?

时间:2014-04-25 09:29:11

标签: sql oracle11g unix-timestamp

您好我有一个数字数据类型的列 数据如 1310112000 这是一个日期,但我不知道如何以可理解的格式制作它: 例如:10-mar-2013 12:00:00 pm

任何人都可以帮助我。

3 个答案:

答案 0 :(得分:2)

这是EPOCH时间:自Epoch(1970-01-01)以来的秒数。使用此:

SELECT CAST(DATE '1970-01-01' + ( 1 / 24 / 60 / 60 ) * '1310112003' AS TIMESTAMP) FROM DUAL;

结果:

08-JUL-11 08.00.03.000000000 AM

答案 1 :(得分:1)

请尝试

select from_unixtime(floor(EPOCH_TIMESTAMP/1000)) from table;

这将得到如E.g:2018-03-22 07:10:45的结果 来自MYSQL的PFB refence

答案 2 :(得分:0)

在Microsoft SQL Server中,以前的答案对我不起作用。但是以下方法确实有效。

SELECT created_time AS created_time_raw, 
dateadd( second, created_time, CAST( '1970-01-01' as datetime ) ) AS created_time_dt 
FROM person

person是一个数据库表,而created_time是一个整数字段,其值是距纪元以来的秒数。

可能还有其他方法可以执行datetime算术。但这是第一件事。我不知道它是否特定于MSSQL。