Перетворення до зсуву дати
Окрім SWITCHOFFSET(), ми можемо використати TODATETIMEOFFSET(), щоб перетворити наявну дату на тип дати зі зсувом. Якщо наш початковий час у UTC, нам потрібно скоригувати часовий пояс, а потім додати зсув. Щоб скоригувати часовий пояс, можна вручну додати або відняти години (та хвилини).
Церемонія закриття літніх Олімпійських ігор 2016 у Ріо-де-Жанейро розпочалася о 23:00 UTC 21 серпня 2016 року. Почавши з рядка, що містить цю дату й час, подивімося, котра година була в інших місцевостях. Для часу у Фініксі (Аризона) ви знаєте, що там діє Mountain Standard Time, тобто UTC −7 упродовж усього року. Острівний ланцюг Тувалу має власний час, який на 12 годин випереджає UTC.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інструкції до вправи
- Вкажіть час у Фініксі (Аризона), де, за Mountain Standard Time, це було UTC −07:00.
- Вкажіть час для Тувалу, який на 12 годин випереджає UTC.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
DECLARE
@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';
SELECT
-- Fill in 7 hours back and a '-07:00' offset
___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
-- Fill in 12 hours forward and a '+12:00' offset.
___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;