0

我有一个时间戳在 1970 年 1 月 1 日之后以毫秒为单位(下面的 [timestamp] 是数据的列名),并且需要添加一个使用 SQL 来获取这些毫秒并将其转换为日期/时间的附加列格式。

我尝试过:

SELECT DATEADD(MILLISECOND, [timestamp] %1000, DATEADD(SECOND, [timestamp] /1000, '19700101'))

我收到错误消息:

无法在表达式“DATEADD ( SECOND , [timestamp] / 1000 , '19700101' )' 中将类型“nvarchar(max)”的值“19700101”转换为类型“datetime”。在“2”行和“152”列。

任何帮助表示赞赏,谢谢!- 男

4

1 回答 1

0

您需要改为19700101以 ISO 时间戳格式指定,因此1970-01-01T00:00:00Z

SELECT DATEADD(MILLISECOND, [timestamp] %1000, DATEADD(SECOND, [timestamp] /1000, '1970-01-01T00:00:00Z'))
于 2020-12-07T13:49:26.833 回答