開始使用免費開始

變更日期的時區位移

你可以使用 SWITCHOFFSET() 函式來變更 DATETIMEDATETIME2、或 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;
編輯並執行程式碼