我有1323648000,这是int(10)。我需要能够将其转换为某种日期格式。像dd / hh / yy hh:mm:ss。我在这里尝试了几个例子,但我似乎无法让它工作。我试图把它作为varchar(10)投射并转换但没有。 Excel还输出########。这个号码不正确吗?
SELECT
engine4_openid_statusstats.openidstat_id,
CONVERT(datetime,CAST(engine4_openid_statusstats.openidstat_time AS varchar(10),3),
engine4_openid_services.openidservice_id,
engine4_openid_services.openidservice_name
FROM
engine4_openid_statusstats ,
engine4_openid_services
答案 0 :(得分:5)
这看起来像是一个基于时代的Unix时间戳,即自1970年以来的秒数。
转换是特定于RDBMS的。使用SQLITE,你可以做到
select datetime( 1323648000, 'unixepoch' );
并且产生2011-12-12 00:00:00(GMT)。
检查您的RDBMS文档以了解日期时转换功能。
答案 1 :(得分:2)
如果确实存储为Epoch Time(它看起来像是),那么这是自1970年1月1日以来的秒数。您可以通过将秒添加到此日期将其转换为日期时间。
SELECT DATEADD(SS, 1323648000, '01/01/1970')
答案 2 :(得分:1)
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss')