web-dev-qa-db-ja.com

SQL Serverでのdatetimeoffsetのオフセットの取得

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形式への変換を行う必要がありますが、これを行うより良い方法があるかどうかを確認したいと思いました。

ありがとう!

25
user2105237

Datepart関数には、分単位のタイムゾーンオフセットであるtzオプションがあります。

datepart(tz,@datetimeoffset)
41
Kenneth Fisher