Зміна зсуву дати
Можна скористатися функцією SWITCHOFFSET() щоб змінити часового поясу для дати типу DATETIME, DATETIME2 або DATETIMEOFFSET, або для коректного рядка дати. SWITCHOFFSET() приймає два параметри: дату або рядок як вхід і зсув часового поясу. Функція повертає час у новому часовому поясі, тож 3:00 AM Eastern Daylight Time стане 2:00 AM Central Daylight Time.
Літні Олімпійські ігри 2016 року в Ріо-де-Жанейро розпочалися об 11 PM UTC 8 серпня 2016 року. Починаючи з рядка з цією датою й часом, можна подивитися, котра це була година в інших місцях.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інструкції до вправи
- Заповніть відповідний виклик функції для Бразиліа, Бразилія.
- Заповніть відповідний виклик функції та часовий пояс для Чикаго, Іллінойс. У серпні Чикаго на 2 години позаду Brasilia Standard Time.
- Заповніть відповідний виклик функції та часовий пояс для Нью-Делі, Індія. В Індії не застосовують перехід на літній час, тож у серпні Нью-Делі на 8 1/2 години попереду Brasilia Standard Time. Зверніть увагу під час обчислення часових поясів, що Бразиліа та Нью-Делі розташовані по різні боки від UTC.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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;