開始使用免費開始

從各部分建立含位移的日期與時間

DATETIMEOFFSETFROMPARTS() 函式會把各個組件值組合成 DATETIMEOFFSET。它是所有日期與時間組建函式中,輸入參數最多的一個。

在 2038 年 1 月 19 日 03:14:08(UTC,亦即凌晨 3:14:08),我們將遭遇 2038 年(Y2.038K)問題。屆時 32 位元裝置會重設回 1900-01-01。這可能導致所有使用 POSIX 時間的 32 位元裝置出現故障;POSIX 時間是指自 1970 年 1 月 1 日 UTC 午夜以來經過的秒數。

本練習屬於課程

SQL Server 的時間序列分析

檢視課程

練習說明

  • 建立一個 DATETIMEOFFSET,表示 Y2.038K 問題發生前最後一毫秒。位移應為 UTC。
  • 建立一個 DATETIMEOFFSET,表示裝置在 UTC 時間觸發 Y2.038K 問題的那一刻。然後使用 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;
編輯並執行程式碼