SQL Server では、DATETIMEOFFSET 値に日付と時刻と UTC からのオフセットの両方が格納されます。オフセットを考慮しながら DATETIMEOFFSET フィールドを DATETIME フィールドに変換し、実質的に UTC に変換するには、次の点を考慮してください。
CONVERT または CAST を使用して DATETIMEOFFSET 値を DATETIME2 に変換すると、値は破棄されて自動的に UTC に変換されます。オフセット。例:
DECLARE @createdon DATETIMEOFFSET = '2008-12-19 17:30:09.0000000 +11:00'; SELECT CONVERT(DATETIME2, @createdon, 1); -- Output: 2008-12-19 06:30:09.0000000
ただし、DATETIMEOFFSET を DATETIME に変換しても、オフセットは UTC に設定されません。オフセット 00:00 の DATETIME に明示的に変換するには、DATETIMEOFFSET 関数を使用します。
SELECT CONVERT(DATETIMEOFFSET, CONVERT(DATETIME2, @createdon, 1)); -- Output: 2008-12-19 06:30:09.0000000 +00:00
以上がSQL Server DATETIMEOFFSET を UTC DATETIME に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。