變更日期的時區位移
你可以使用 SWITCHOFFSET() 函式來變更 DATETIME、DATETIME2、或 DATETIMEOFFSET 型別的日期,或是有效日期字串的時區。SWITCHOFFSET() 接受兩個參數:輸入的日期或字串,以及時區位移。它會回傳新時區的時間,因此東部日光時間的 3:00 AM 會變成中部日光時間的 2:00 AM。
2016 年里約熱內盧夏季奧運於 2016 年 8 月 8 日 UTC 晚上 11 點開幕。從包含該日期與時間的字串開始,來看看在其他地區會是幾點。
本練習屬於課程
SQL Server 的時間序列分析
練習說明
- 填入巴西(巴西利亞)對應的函式呼叫。
- 為美國伊利諾州芝加哥填入對應的函式呼叫與時區。8 月時,芝加哥比巴西利亞標準時間晚 2 小時(behind)。
- 為印度新德里填入對應的函式呼叫與時區。印度不實施日光節約時間,因此在 8 月時,新德里比巴西利亞標準時間早 8 小時半(ahead of)。計算時區時請注意,巴西利亞與新德里位於 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;