Sql 如何将历元时间转换为日期?

Sql 如何将历元时间转换为日期?,sql,oracle11g,unix-timestamp,Sql,Oracle11g,Unix Timestamp,嗨,我有一个数字数据类型的列 类似于1310112000的数据这是一个日期,但我不知道如何以可理解的格式来表示: ex:2013年3月10日下午12:00:00 谁能帮帮我吗。那是纪元时间:自纪元(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

嗨,我有一个数字数据类型的列 类似于1310112000的数据这是一个日期,但我不知道如何以可理解的格式来表示: ex:2013年3月10日下午12:00:00


谁能帮帮我吗。

那是纪元时间:自纪元(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
请试一试

select from_unixtime(floor(EPOCH_TIMESTAMP/1000)) from table;
这将给出如下结果:例如:2018-03-22 07:10:45
PFB参考在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\u time
是一个整型字段,其值为自历元起的秒数


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

您能接受答案吗?它可以帮助另一个解决同样的问题。可能重复的是,它工作正常。只要删除“/1000”就可以了,如果你没有毫秒,对我来说很好