始める無料で始める

要素からオフセット付きの日時を組み立てる

DATETIMEOFFSETFROMPARTS() 関数は、個々の要素から DATETIMEOFFSET を作成します。これは日付・時刻生成関数の中で最も多くの入力引数を持ちます。

2038年1月19日 03:14:08 UTC(午前3時14分8秒)に、いわゆる Year 2038(Y2.038K)問題が発生します。この瞬間、32ビットのデバイスは日付が 1900-01-01 にリセットされます。これは、POSIX time(1970年1月1日 深夜0時 UTC からの経過秒数)を使用するすべての32ビットデバイスが動作不能になるリスクを伴います。

この演習はコースの一部です

SQL Serverで学ぶ時系列分析

コースを見る

演習の手順

  • Y2.038K 問題が発生する直前、最後のミリ秒を表す DATETIMEOFFSET を作成してください。オフセットは UTC にしてください。
  • デバイスが UTC 時刻で Y2.038K 問題に到達する瞬間を表す DATETIMEOFFSET を作成してください。その後、AT TIME ZONE 演算子を使ってこれを Eastern Standard Time に変換しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

SELECT
	-- Fill in the millisecond PRIOR TO chaos
	DATETIMEOFFSETFROMPARTS(2038, ___, ___, ___, ___, 07, 999, 0, 0, 3) AS LastMoment,
    -- Fill in the date and time when we will experience the Y2.038K problem
    -- Then convert to the Eastern Standard Time time zone
	DATETIMEOFFSETFROMPARTS(2038, ___, ___, ___, ___, 08, 0, 0, 0, 3) AT TIME ZONE '___ ___ ___' AS TimeForChaos;
コードを編集して実行