我有这个查询正确地将中欧时间返回为 +2 小时。但是,它不会将这两个小时添加到时间中。
我如何添加这两个小时的时间(或 x 小时,取决于时区)?
DECLARE @targettimezone AS sysname = 'Central European Standard Time'
SELECT convert(datetime2,'2018-10-25T13:43:19.296Z') AT TIME ZONE @targettimezone;
最佳答案
您可以尝试使用 datetimeoffset 而不是 datetime2
。
然后将 datetimeoffset
转换为 DateTime
可以得到你期望的结果。
DECLARE @targettimezone AS sysname = 'Central European Standard Time'
SELECT cast(cast('2018-10-25T13:43:19.296Z' as datetimeoffset) AT TIME ZONE @targettimezone as datetime2);
sqlfiddle
关于SQL - 在时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52993652/