7

我有 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
4

3 回答 3

5

这看起来像是 Unix 风格的基于纪元的时间戳,即自 1970 年以来的秒数。

转换是特定于 RDBMS 的。使用 SQLITE 你会做

select datetime( 1323648000, 'unixepoch' );

这会产生 2011-12-12 00:00:00 (GMT)。

检查您的 RDBMS 文档以了解日期时间转换函数。

于 2012-05-22T18:56:42.783 回答
3

如果确实将其存储为纪元时间(看起来确实如此),那么这些是自 1970 年 1 月 1 日以来的秒数。您可以通过在该日期上添加秒数来将其转换为日期时间。

SELECT DATEADD(SS, 1323648000, '01/01/1970')
于 2012-05-22T19:04:35.357 回答
1
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss')
于 2012-05-22T18:55:10.950 回答