日時オフセットへの変換
SWITCHOFFSET() に加えて、TODATETIMEOFFSET() を使うと、既存の日時をオフセット付きの日時型に変換できます。開始時刻が UTC の場合は、まずタイムゾーンを補正し、その後にオフセットを付与します。タイムゾーンを補正するには、手動で時間(や分)を加算・減算します。
2016年リオデジャネイロ夏季オリンピックの閉会式は、2016年8月21日 11 PM(UTC)に始まりました。その日時を含む文字列から出発して、他の地域での時刻を確認してみましょう。アリゾナ州フェニックスの時刻は、通年で Mountain Standard Time(UTC -7)を採用しています。ツバル諸島は、UTC より12時間進んだ独自の時刻を用いています。
この演習はコースの一部です
SQL Serverで学ぶ時系列分析
演習の手順
- Mountain Standard Time のアリゾナ州フェニックスの時刻(UTC -07:00)を入力します。
- UTC より12時間進んでいるツバルの時刻を入力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
DECLARE
@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';
SELECT
-- Fill in 7 hours back and a '-07:00' offset
___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
-- Fill in 12 hours forward and a '+12:00' offset.
___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;