在T-SQL中将Epoch以毫秒转换为Date

时间:2016-05-30 09:52:17

标签: sql-server tsql epoch

我遇到了一个附有毫秒的纪元时间戳问题。

我的纪元时间戳的格式是:

1439263190,2609999

build in dateadd函数只能处理int个值。

有没有解决方法?

KR Johann

1 个答案:

答案 0 :(得分:0)

纪元时间(又名Unix时间)是自1970年1月1日午夜起的秒数。

要解决仅处理整数值的DateAdd函数,只需将该值赋给整数变量,并在调用DateAdd时使用该值。

例如,此代码:

declare @epoch decimal(20,7) = 1439263190.2609999
declare @epoch2 int = @epoch
select @epoch, @epoch2, DATEADD(s, @epoch2, '1970-01-01 00:00:00')

给出了这个结果:

1439263190.2609999    1439263190    2015-08-11 03:19:50.000