根据SQL中的时区描述将给定的日期时间转换为UTC时间

时间:2014-03-24 07:45:12

标签: sql sql-server datetime

我有以下数据。第一列的类型为datetime,第二列是相应的时区信息,属于nvarchar类型。

07/04/2012 14:20:45   EASTERN STANDARD TIME
07/04/2012 13:55:10   INDIAN STANDARD TIME
07/04/2012 10:55:00   CENTRAL STANDARD TIME

如何将所有行的日期时间列值转换为UTC时间?

2 个答案:

答案 0 :(得分:1)

试试这个

UPDATE dbo.YourTable
SET DateTimeColumn=CASE TimeShift 
                        WHEN N'EASTERN STANDARD TIME'
                             THEN DATEADD(hour,EasternTimeShift,DateTimeColumn)
                        WHEN N'INDIAN STANDARD TIME'
                             THEN DATEADD(hour,IndianTimeShift,DateTimeColumn)
                        ...
                        ELSE DateTimeColumn
                    END

答案 1 :(得分:1)