ホームページ >データベース >mysql チュートリアル >オフセット調整を使用して SQL Server 2008 DateTimeOffset を DateTime に変換する方法

オフセット調整を使用して SQL Server 2008 DateTimeOffset を DateTime に変換する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-03 16:33:42774ブラウズ

How to Convert SQL Server 2008 DateTimeOffset to DateTime with Offset Adjustment?

オフセット調整を使用して SQL Server 2008 DateTimeOffset を DateTime に変換する

データベースを操作する場合、互換性を確保するためにデータ型を変換する必要がある場合があります。またはデータ分析を容易にします。一般的な変換の 1 つは、指定されたオフセットに基づいて時刻を再計算しながら、DATETIMEOFFSET フィールドを DATETIME フィールドに変更することです。このガイドでは、この変換を効果的に実行するための手順を説明します。

変換プロセス

DATETIMEOFFSET から DATETIME への変換には、次の手順が含まれます:

  1. CONVERT 関数を使用します: CONVERT 関数を使用して、 DATETIMEOFFSET 値をスタイル 1 の DATETIME2 データ型に変換します。これにより、UTC への変換中に日付と時刻が保持されます。
CONVERT(datetime2, @created_on, 1)
  1. DATETIMEOFFSET に戻す: 保持するにはDATETIMEOFFSET 形式で調整された時間を DATETIME2 値から DATETIMEOFFSET に変換し、オフセットを指定します。 00:00.
CONVERT(datetimeoffset, CONVERT(datetime2, @created_on, 1))

変換の例

次の DATETIMEOFFSET 値を考えてみましょう。

@created_on = '2008-12-19 17:30:09.1234567 +11:00'

この値を次のように変換します。 CONVERT 関数と CONVERT 関数を使用した DATETIME の結果は次のようになります。値:

CONVERT(datetime2, @created_on, 1) = '2008-12-19 06:30:09.12'
CONVERT(datetimeoffset, CONVERT(datetime2, @created_on, 1)) = '2008-12-19 06:30:09.1234567 +00:00'

例でわかるように、変換プロセスではオフセット (11:00) を考慮して時刻が再計算され、値が UTC (00:00) に変換されます。

以上がオフセット調整を使用して SQL Server 2008 DateTimeOffset を DateTime に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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