始める無料で始める

日付のオフセットを変更する

SWITCHOFFSET() 関数を使うと、DATETIMEDATETIME2DATETIMEOFFSET 型の日付、または有効な日付文字列のタイムゾーンを変更できます。SWITCHOFFSET() は2つの引数をとり、入力となる日付(または文字列)とタイムゾーンのオフセットを指定します。新しいタイムゾーンでの時刻を返すため、たとえば東部夏時間の午前3時は中部夏時間の午前2時になります。

2016年のリオデジャネイロ夏季オリンピックは、2016年8月8日 午後11時(UTC)に開会しました。その日時を含む文字列から開始して、他の地域では何時だったかを確認してみましょう。

この演習はコースの一部です

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;
コードを編集して実行