Inizia subitoInizia gratis

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

Visualizza corso

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;
Modifica ed esegui il codice