В этом уроке вы узнаете, как использовать функцию SWITCHOFFSET() для переключения значения DATETIMEOFFSET на новое смещение часового пояса.
Введение в функцию SQL Server SWITCHOFFSET()
Функция SWITCHOFFSET() возвращает DATETIMEOFFSET, измененный с сохраненного смещения часового пояса на новое смещение часового пояса.
Ниже показан синтаксис функции SWITCHOFFSET():
SWITCHOFFSET( expression, time_zone )
Функция SWITCHOFFSET() принимает два аргумента:
- выражение — это выражение, которое может быть преобразовано в значение DATETIMEOFFSET.
- time_zone может быть строкой символов в формате {+|-}TZH:TZM или целым числом минут со знаком. Например, time_zone может быть +08:00, -07:00 или 120.
Функция SWITCHOFFSET() очень удобна для обновления значений в столбце DATETIMEOFFSET.
Пример функции SQL Server SWITCHOFFSET()
Давайте рассмотрим пример использования функции SQL Server SWITCHOFFSET().
Сначала создайте новую таблицу со столбцом DATETIMEOFFSET :
CREATE TABLE dbo.switchoffset_demo( dtz DATETIMEOFFSET );
Во-вторых, вставьте новое значение DATETIMEOFFSET в таблицу:
INSERT INTO dbo.switchoffset_demo VALUES('2019-03-06 9:20:00 +07:00');
В-третьих, запросите значение из таблицы dbo.switchoffset_demo:
SELECT dtz FROM dbo.switchoffset_demo;
Вот что получилось:
dtz ---------------------------------- 2019-03-06 09:20:00.0000000 +07:00 (1 row affected)
В-четвертых, используйте функцию SWITCHOFFSET(), чтобы переключить часовой пояс на -08:00:
SELECT SWITCHOFFSET(dtz, '-08:00') result FROM dbo.switchoffset_demo;
Вывод следующий:
result ---------------------------------- 2019-03-05 18:20:00.0000000 -08:00 (1 row affected)
В этом уроке вы узнали, как использовать функцию SWITCHOFFSET() для переключения часового пояса для значения DATETIMEOFFSET.