Zacznij terazZacznij za darmo

Zmiana przesunięcia daty

Funkcji SWITCHOFFSET() możemy używać do zmiany strefy czasowej dla dat typu DATETIME, DATETIME2 lub DATETIMEOFFSET, a także dla poprawnych ciągów daty. SWITCHOFFSET() przyjmuje dwa parametry: datę lub ciąg znaków jako dane wejściowe oraz przesunięcie strefy czasowej. Zwraca godzinę w nowej strefie – na przykład 3:00 czasu EDT (wschodniego) zostanie przeliczone na 2:00 czasu CDT (środkowego).

Letnie Igrzyska Olimpijskie 2016 w Rio de Janeiro rozpoczęły się o 23:00 UTC, 8 sierpnia 2016 roku. Mając ciąg znaków zawierający tę datę i godzinę, możesz sprawdzić, która była wtedy w innych miejscach na świecie.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij odpowiednie wywołanie funkcji dla Brasilii w Brazylii.
  • Uzupełnij odpowiednie wywołanie funkcji i strefę czasową dla Chicago w stanie Illinois. W sierpniu Chicago jest 2 godziny za czasem standardowym Brazylii.
  • Uzupełnij odpowiednie wywołanie funkcji i strefę czasową dla Nowego Delhi w Indiach. Indie nie stosują czasu letniego, więc w sierpniu Nowe Delhi jest 8,5 godziny przed czasem standardowym Brazylii. Przy obliczaniu stref czasowych pamiętaj, że Brasilia i Nowe Delhi leżą po przeciwnych stronach UTC.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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;
Edytuj i uruchom kod