将时间戳转换为日期时间更改格式

时间:2020-05-31 00:21:21

标签: sql sql-server

我有一个timestamp 2020-01-08T16:06:00+00:00格式的值,我想将其转换为{strong> datetime2020-01-08 16:06:00格式。

我曾尝试转换为datetime,但收到错误消息:

从字符串转换日期和/或时间时失败。

我想将timestamp转换为datetime

2 个答案:

答案 0 :(得分:0)

如果您不关心时区,可以使用:

select convert(datetime, left('2020-01-08T16:06:00+00:00', 19))

答案 1 :(得分:0)

如果您只想删除偏移量,而不是将时间戳转换为本地时间(因为偏移将时间戳设置为UTC),请尝试以下操作:

DECLARE @timestamp AS DATETIMEOFFSET = '2020-01-08T16:06:00+00:00' ;
SELECT  CAST ( @timestamp AS DATETIME2(0) ) AS formatted_timestamp ;

(我假设您的时间戳记的数据类型为DATETIMEOFFSET。但是,如果数据类型为DATETIME或DATETIME2,也可以使用。)