ホームページ >データベース >mysql チュートリアル >オフセットを保持しながら SQL Server 2008 の DATETIMEOFFSET を DATETIME に変換するにはどうすればよいですか?

オフセットを保持しながら SQL Server 2008 の DATETIMEOFFSET を DATETIME に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-29 21:12:15999ブラウズ

How to Convert SQL Server 2008 DATETIMEOFFSET to DATETIME While Preserving the Offset?

オフセットを保持しながら DATETIMEOFFSET を DateTime に変換する

SQL Server 2008 では、DATETIMEOFFSET フィールドを DATETIME フィールドに変換すると、通常、オフセットによる時刻情報。ただし、オフセットを保持したまま値を変換し、実質的に UTC に変換する方法があります。

この変換の鍵は、正しいスタイル引数を指定して CONVERT 関数を使用することにあります。 style 引数は、変換の実行方法を指定します。この特定の目的のために、スタイル 1 を使用する必要があります:

SELECT CONVERT(datetime2, @createdon, 1)

上記のクエリは DATETIMEOFFSET 変数 (@createdon) を受け取り、スタイル 1 を使用してそれを DATETIME2 値に変換します。このスタイルは、DATETIMEOFFSET 値を次のように変換します。オフセットを減算して UTC の DATETIME2 値を取得します。

たとえば、次の DATETIMEOFFSET について考えてみましょう。 value:

2008-12-19 17:30:09.0000000 +11:00

スタイル 1 を使用してこの値を変換すると、次のようになります:

2008-12-19 06:30:09.0000000

この結果は UTC 時間であり、実質的にオフセットが削除されます。

スタイル 1 を使用して DATETIME2 から DATETIMEOFFSET に変換すると、オフセットが 00:00 に設定されるだけであることに注意してください。これは、ゼロ以外のオフセットを持つ DATETIMEOFFSET 値を UTC の DATETIMEOFFSET 値に変換する簡単な方法として使用できます:

SELECT convert(datetimeoffset,CONVERT(datetime2, @createdon, 1))

以上がオフセットを保持しながら SQL Server 2008 の DATETIMEOFFSET を DATETIME に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。