30

在 SQL Server 中,我需要找到给定datetimeoffset(7).

我已经研究了文档,并且有各种方法可以更改偏移量,但不能知道特定值的偏移量(如果我错过了,抱歉)。

好吧,我想出了以下一段代码,尽管似乎可行,但我发现它太复杂了。

DECLARE @datetimeOffset datetimeoffset(7)

SET @datetimeOffset = CAST('2007-05-08 22:35:29.1234567-05:00' AS datetimeoffset(7))

DECLARE @result datetimeoffset(7)
DECLARE @offsetMin int

SET @offsetMin = DATEDIFF(mi, cast(SWITCHOFFSET(@datetimeOffset, '+00:00') as datetime), cast(@datetimeOffset as datetime)) 

SELECT @offsetMin

我仍然需要转换为 +00:00 格式,但想检查是否有更好的方法来做到这一点。

谢谢!

4

1 回答 1

49

datepart 函数有一个 tz 选项,它是以分钟为单位的时区偏移量。

datepart(tz,@datetimeoffset)
于 2013-02-24T20:45:32.110 回答