17
在SQL Server中,我需要找到給定的datetimeoffset(7)
的偏移量。在SQL Server中獲取datetimeoffset的偏移量
我研究了文檔,並且有所有方法來改變偏移量,但沒有辦法知道特定值的偏移量(抱歉,如果我錯過了它)。
那麼我想出了下面這段代碼,我覺得雖然看起來太複雜了。
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格式,但想檢查是否有更好的方法來做到這一點。
謝謝!
您還可以獲取DATENAME(tz,@datetimeoffset)以獲取作爲varchar的偏移量。 – 2013-09-10 19:46:19
'TZOFFSET'可以代替'tz',而且值得一提的是SSMS語法高亮顯示。 – 2014-06-06 16:01:33
這隻適用於SSMS 2012+ – codeMonkey 2017-02-17 20:45:57