开始使用免费开始使用

从各部分构建带偏移的日期和时间

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 中的时间序列分析

查看课程

练习说明

  • 构建一个表示 Y2.038K 问题发生前最后 1 毫秒的 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;
编辑并运行代码