更改日期的偏移量
我们可以使用 SWITCHOFFSET() 函数来更改 DATETIME、DATETIME2 或 DATETIMEOFFSET 类型的日期,或有效日期字符串的时区。SWITCHOFFSET() 接受两个参数:输入的日期或字符串,以及时区偏移量。它会返回该新时区下的时间,因此东部夏令时间的 3:00 AM 会变为中部夏令时间的 2:00 AM。
2016 年里约热内卢夏季奥运会于 2016 年 8 月 8 日 UTC 时间晚上 11 点开幕。从包含该日期和时间的字符串开始,您可以查看在其他地区对应的时间。
本练习是课程的一部分
SQL Server 中的时间序列分析
练习说明
- 为巴西利亚(巴西)填写合适的函数调用。
- 为芝加哥(伊利诺伊州)填写合适的函数调用和时区。8 月份,芝加哥比巴西利亚标准时间晚 2 小时("落后")。
- 为新德里(印度)填写合适的函数调用和时区。印度不实行夏令时,因此在 8 月份,新德里比巴西利亚标准时间早 8 个半小时("领先")。请注意在计算时区时,巴西利亚和新德里位于 UTC 的两侧相反方向。
交互式实操练习
通过完成这段示例代码来试试这个练习。
DECLARE
@OlympicsUTC NVARCHAR(50) = N'2016-08-08 23:00:00';
SELECT
-- Fill in the time zone for Brasilia, Brazil
___(@OlympicsUTC, '-03:00') AS BrasiliaTime,
-- Fill in the time zone for Chicago, Illinois
___(@OlympicsUTC, ___) AS ChicagoTime,
-- Fill in the time zone for New Delhi, India
___(@OlympicsUTC, '+___') AS NewDelhiTime;