将现有的本地日期时间条目转换为UTC

时间:2018-06-19 15:38:06

标签: sql sql-server

我的数据库中有一堆日期时间条目,现在必须将其迁移到UTC。

我已经尝试过类似的方法来验证时差:

SELECT CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+02:00')) Time_In_Sweden

本地(+ 2h)转换为UTC(+0)=>,即我必须删除2h。

但是我不确定执行此查询时将如何处理。有更好的方法吗?

datetime列的类型为datetime2(7),称为DateCreated

我已经尝试过了,但是没有用,我不确定该怎么做。

DECLARE @Time_In_Sweden datetime2, @UTCTimeNow datetime2
SET @Time_In_Sweden = DateCreated   -- ????????
SET @UTCTimeNow = GETUTCDATE()

UPDATE MachineStops SET DateCreated = CONVERT(DATEDIFF(d,DateCreated,@UTCTimeNow)

MachineStops是表格

谢谢。

1 个答案:

答案 0 :(得分:1)

好吧,因为您知道时差是2个小时,所以最简单的方法就是放2个小时的假:

Update MachineStops SET DateCreated = DateADD(hour, -2, DateCreated )