В этом руководстве вы узнаете, как использовать функцию 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() для получения текущей системной даты и времени с учетом часового пояса.