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

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

Susan Sarandon
リリース: 2024-12-29 21:12:15
オリジナル
1018 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート