ПочатиПочніть безкоштовно

Зміна зсуву дати

Можна скористатися функцією 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;
Редагувати та запускати код