CURRENT_TIMESTAMP (Transact-SQL)

Относится к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsSQL аналитическая конечная точка в Microsoft FabricХранилище в Microsoft FabricSQL база данных в Microsoft Fabric

Функция Transact-SQL (T-SQL) возвращает текущую отметку времени системы базы данных в виде значения времени времени без смещения временного CURRENT_TIMESTAMP пояса базы данных. CURRENT_TIMESTAMP получает это значение от операционной системы компьютера, на котором выполняется экземпляр SQL Server.

Примечание.

SYSDATETIME и SYSUTCDATE имеют большую точность в долях секунды, чем GETDATE и GETUTCDATE. Функция SYSDATETIMEOFFSET включает смещение часового пояса, заданное в системе. Функции SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET могут быть присвоены переменным любого типа даты и времени.

Эта функция ANSI SQL эквивалентна функции GETDATE.

Примечание.

База данных SQL Azure и SQL Database в Microsoft Fabric поддерживают изменение стандартного часового пояса с универсального координированного времени (UTC). Если вы изменяете часовой пояс на уровне базы данных или сессии , эта функция возвращает локальное время на основе заданного значения часового пояса. Для получения дополнительной информации см. ALTER DATABASE SCOPED CONFIGURATIONразделSET TIME ZONE.

Общие сведения обо всех типах и функциях данных и функций даты и времени Transact-SQL см. в разделе "Типы и функции данных даты и времени".

Соглашения о синтаксисе Transact-SQL

Синтаксис

CURRENT_TIMESTAMP

Аргументы

Эта функция не имеет аргументов.

Типы возвращаемых данных

datetime

Замечания

Функция CURRENT_TIMESTAMP может использоваться в инструкциях Transact-SQL везде, где допустимо использование выражения datetime.

CURRENT_TIMESTAMP является недетерминированной функцией. Нельзя индексировать представления и выражения, которые ссылаются на этот столбец.

Примеры

В этих примерах используются шесть системных функций SQL Server, возвращающих текущие значения даты и времени, для возврата даты, времени или обоих. Значения возвращаются последовательно, поэтому могут различаться на доли секунды. Фактические значения отражают фактический день и время исполнения.

А. Получение текущей даты и времени системы

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Вот результат.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Получение текущей даты системы

В следующем примере показано, как преобразовать значения даты и времени в тип данных даты .

SELECT CONVERT (DATE, SYSDATETIME()),
       CONVERT (DATE, SYSDATETIMEOFFSET()),
       CONVERT (DATE, SYSUTCDATETIME()),
       CONVERT (DATE, CURRENT_TIMESTAMP),
       CONVERT (DATE, GETDATE()),
       CONVERT (DATE, GETUTCDATE()),
       CURRENT_DATE;

Вот результат.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

В. Получение текущего системного времени

SELECT CONVERT (TIME, SYSDATETIME()),
       CONVERT (TIME, SYSDATETIMEOFFSET()),
       CONVERT (TIME, SYSUTCDATETIME()),
       CONVERT (TIME, CURRENT_TIMESTAMP),
       CONVERT (TIME, GETDATE()),
       CONVERT (TIME, GETUTCDATE());

Вот результат.

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740

Примеры: Azure Synapse Analytics

SELECT CURRENT_TIMESTAMP;