Bir tarihin saat dilimi ofsetini değiştirme
SWITCHOFFSET() işlevini, DATETIME, DATETIME2 veya DATETIMEOFFSET türündeki bir tarih ya da geçerli bir tarih dizesinin saat dilimini değiştirmek için kullanabiliriz. SWITCHOFFSET() iki parametre alır: girdi olarak tarih/dize ve saat dilimi ofseti. Yeni saat dilimindeki zamanı döndürür; bu yüzden, Doğu Yaz Saati'ne göre 03:00 olan bir zaman, Merkez Yaz Saati'ne göre 02:00 olur.
2016 Rio de Janeiro Yaz Olimpiyatları, 8 Ağustos 2016'da UTC'ye göre saat 23:00'te başladı. Bu tarihi ve saati içeren bir dizeyle başlayarak, bunun diğer yerlerde kaç olduğunu görebiliriz.
Bu egzersiz, kursun bir parçasıdır
SQL Server'da Zaman Serisi Analizi
Egzersiz talimatları
- Brezilya, Brasilia için uygun işlev çağrısını doldur.
- Chicago, Illinois için uygun işlev çağrısını ve saat dilimini doldur. Ağustosta Chicago, Brasilia Standart Saati'nden 2 saat geridedir.
- Hindistan, Yeni Delhi için uygun işlev çağrısını ve saat dilimini doldur. Hindistan Yaz Saati Uygulaması kullanmaz; bu yüzden ağustosta Yeni Delhi, Brasilia Standart Saati'nden 8,5 saat ileridedir. Saat dilimlerini hesaplarken Brasilia ve Yeni Delhi'nin UTC'nin zıt taraflarında olduğunu unutma.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;