In einen Datums-Offset konvertieren
Zusätzlich zu SWITCHOFFSET() können wir TODATETIMEOFFSET() verwenden, um ein vorhandenes Datum in einen Datumstyp mit Offset umzuwandeln. Wenn unsere Ausgangszeit in UTC ist, müssen wir die Zeitzone korrigieren und anschließend einen Offset anhängen. Um die Zeitzone zu korrigieren, können wir Stunden (und Minuten) manuell addieren oder subtrahieren.
Die Abschlussfeier der Olympischen Sommerspiele 2016 in Rio de Janeiro begann am 21. August 2016 um 23:00 Uhr UTC. Ausgehend von einem String mit diesem Datum und dieser Uhrzeit können wir sehen, wie spät es in anderen Regionen war. Für die Zeit in Phoenix, Arizona, weißt du, dass dort ganzjährig die Mountain Standard Time gilt, also UTC -7. Die Inselgruppe Tuvalu hat ihre eigene Zeit, die 12 Stunden vor UTC liegt.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in SQL Server
Anleitung zur Übung
- Trage die Uhrzeit in Phoenix, Arizona ein; dort gilt Mountain Standard Time, also UTC -07:00.
- Trage die Uhrzeit für Tuvalu ein; dort ist es 12 Stunden vor UTC.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;