Modificare l'offset di una data
Possiamo usare la funzione SWITCHOFFSET() per cambiare il fuso orario di una data di tipo DATETIME, DATETIME2 o DATETIMEOFFSET, oppure di una stringa data valida. SWITCHOFFSET() accetta due parametri: la data o stringa in input e l'offset del fuso orario. Restituisce l'ora in quel nuovo fuso orario, quindi le 3:00 AM in Eastern Daylight Time diventeranno le 2:00 AM in Central Daylight Time.
Le Olimpiadi estive del 2016 a Rio de Janeiro sono iniziate alle 23:00 UTC l'8 agosto 2016. Partendo da una stringa che contiene quella data e ora, possiamo vedere che ore erano in altre località.
Questo esercizio fa parte del corso
Analisi delle serie temporali in SQL Server
Istruzioni dell'esercizio
- Inserisci la chiamata di funzione appropriata per Brasilia, Brasile.
- Inserisci la chiamata di funzione e il fuso orario corretti per Chicago, Illinois. Ad agosto, Chicago è 2 ore indietro rispetto all'ora standard di Brasilia.
- Inserisci la chiamata di funzione e il fuso orario corretti per Nuova Delhi, India. L'India non adotta l'ora legale, quindi ad agosto Nuova Delhi è 8 ore e mezza avanti rispetto all'ora standard di Brasilia. Nota che, nel calcolo dei fusi orari, Brasilia e Nuova Delhi si trovano su lati opposti rispetto a UTC.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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;