Функция SQL Server SYSDATETIMEOFFSET

В этом руководстве вы узнаете, как использовать функцию SQL Server SYSDATETIMEOFFSET() для получения текущей системной даты и времени с учетом часового пояса.

Обзор функции SQL Server SYSDATETIMEOFFSET()

Функция SYSDATETIMEOFFSET() возвращает значение DATETIMEOFFSET(7), представляющее текущую системную дату и время, включая часовой пояс, компьютера, на котором запущен экземпляр SQL Server.

Ниже показан синтаксис функции SYSDATETIMEOFFSET():

SYSDATETIMEOFFSET()

Например, чтобы получить текущую системную дату и время с учетом часового пояса сервера, к которому вы подключаетесь, используйте следующий оператор:

SELECT 
    SYSDATETIMEOFFSET() [datetimeoffset with timezone];

Вывод следующий:

datetimeoffset with timezone
----------------------------------
2019-05-03 08:56:48.0645108 +07:00
(1 row affected)

Примеры функции SQL Server SYSDATETIMEOFFSET()

Давайте рассмотрим несколько примеров использования функции SYSDATETIMEOFFSET().

A) Пример извлечения смещения часового пояса

В следующем примере функцияDATEPART() используется для возврата смещения часового пояса. Она возвращает целое число, представляющее смещение часового пояса в минутах.

SELECT 
    SYSDATETIMEOFFSET() AS [System DateTime Offset],
    DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS [Timezone Offset];

Вот что получилось:

System DateTime Offset             Timezone Offset
---------------------------------- ---------------
2019-05-03 09:07:30.4093274 +07:00 420
(1 row affected)

Б) Пример форматирования смещения часового пояса

Вы также можете использовать функцию FORMAT(), чтобы вернуть смещение часового пояса в виде строки, используя:

В этом примере возвращаемое смещение часового пояса форматируется как строка с помощью функции FORMAT() с аргументами zz и zzz:

SELECT 
    SYSDATETIMEOFFSET() AS 'System Date Time Offset', 
    FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz', 
    FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';

На следующем рисунке показан результат:

SQL Server SYSDATETIMEOFFSET

В этом руководстве вы узнали, как использовать функцию SQL Server SYSDATETIMEOFFSET() для получения текущей системной даты и времени с учетом часового пояса.

Мирослав С.

Автор статей, ИБ-специалист