1

如何以 bigint 的日期格式显示 SQL 列?

例如,我不希望转换每一行

select dateadd(second, 1358523245140/1000+8*60*60,  '19700101') from tablename
4

1 回答 1

0

要以可识别的日期格式显示,只需在该计算之上添加所需的格式样式。例如

select
    dateadd(second, 1358523245140/1000+8*60*60,  '19700101') 
  , convert(varchar, dateadd(second, 1358523245140/1000+8*60*60,  '19700101') ,121)
;

第一列将显示为数据库默认格式(例如 January, 18 2013 23:34:05+0000),第二列将显示样式 121 (2013-01-18 23:34:05.000)

这些样式的表有很多可用,或者在 SQL 2012 中,您可以使用 FORMAT()

例如http://msdn.microsoft.com/en-us/library/ms187928.aspx

http://www.sql-server-helper.com/sql-server-2012/format-function-vs-convert-function.aspx

ps:这里还有另一种将 13 位 unix 时间戳转换为 TSQL 日期时间的方法: Convert unix epoch timestamp to TSQL timestamp

于 2013-10-08T02:43:41.073 回答