Работа со смещениями

Анализ временных рядов в SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Структура DATETIMEOFFSET

Компоненты

Часть даты Пример
Дата 2019-04-10
Время 12:59:02.3908505
Смещение UTC -04:00
Анализ временных рядов в SQL Server

Структура DATETIMEOFFSET

Компоненты

Часть даты Пример
Дата 2019-04-10
Время 12:59:02.3908505
Смещение UTC -04:00

Отображение

2019-04-10 12:59:02.3908505 -04:00

Анализ временных рядов в SQL Server

Изменение смещения

DECLARE @SomeDate DATETIMEOFFSET = 
    '2019-04-10 12:59:02.3908505 -04:00';

SELECT
    SWITCHOFFSET(@SomeDate, '-07:00') AS LATime;
LATime
2019-04-10 09:59:02.3908505 -07:00
Анализ временных рядов в SQL Server

Преобразование в DATETIMEOFFSET

DECLARE @SomeDate DATETIME2(3) =
    '2019-04-10 12:59:02.390';

SELECT
    TODATETIMEOFFSET(@SomeDate, '-04:00') AS EDT;
EDT
2019-04-10 12:59:02.390 -04:00
Анализ временных рядов в SQL Server

Смена часового пояса с TODATETIMEOFFSET

DECLARE @SomeDate DATETIME2(3) =
    '2016-09-04 02:28:29.681';
SELECT
    TODATETIMEOFFSET(
      DATEADD(HOUR, 7, @SomeDate),
      '+02:00') AS BonnTime;
BonnTime
2016-09-04 09:28:29.681 +02:00
Анализ временных рядов в SQL Server

Исследование часовых поясов

SELECT
    tzi.name,
    tzi.current_utc_offset,
    tzi.is_currently_dst
FROM sys.time_zone_info  tzi
WHERE
    tzi.name LIKE '%Time Zone%';
name current_utc_offset is_currently_dst
Russia Time Zone 3 +04:00 0
Russia Time Zone 10 +11:00 0
Russia Time Zone 11 +12:00 0
Анализ временных рядов в SQL Server

Давайте потренируемся!

Анализ временных рядов в SQL Server

Preparing Video For Download...