SQL Server - 将13位数字转换为datetime

leg*_*ess 3 sql-server-2008

如何将13位数字(如1314637182953)转换datetime为SQL Server?转换和转换都直接产生算术溢出错误!

与以下查询的结果相同:

select Convert(datetime, cast(START_DATE as varchar(8)), 112), * 
from table
Run Code Online (Sandbox Code Playgroud)

das*_*ght 6

假设它是以毫秒为单位的UNIX时间,请尝试以下方法:

DATEADD(SECOND, START_DATE/1000 ,'1970/1/1')
Run Code Online (Sandbox Code Playgroud)

对于帖子中的数字,SQL-2008返回 2011-08-29 16:59:42.000