Conversione in un offset di data
Oltre a SWITCHOFFSET(), possiamo usare TODATETIMEOFFSET() per trasformare una data esistente in un tipo di data con offset. Se l’ora di partenza è in UTC, dobbiamo correggere il fuso orario e poi aggiungere un offset. Per correggere il fuso orario, possiamo aggiungere o sottrarre manualmente ore (e minuti).
La cerimonia di chiusura delle Olimpiadi estive 2016 a Rio de Janeiro è iniziata alle 23:00 UTC del 21 agosto 2016. Partendo da una stringa che contiene quella data e ora, possiamo vedere che ora era in altre località. Per l’ora a Phoenix, in Arizona, sai che osservano il Mountain Standard Time, che è UTC -7 tutto l’anno. L’arcipelago di Tuvalu ha un proprio orario che è 12 ore avanti rispetto a UTC.
Questo esercizio fa parte del corso
Analisi delle serie temporali in SQL Server
Istruzioni dell'esercizio
- Inserisci l’ora a Phoenix, in Arizona, che, essendo in Mountain Standard Time, era UTC -07:00.
- Inserisci l’ora per Tuvalu, che è 12 ore avanti rispetto a UTC.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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;