Поделиться через


CURRENT_DATE (Transact-SQL)

Применимо к: Sql Server 2025 (17.x) База данныхSQL Azure Управляемого экземпляраSQL Azure в Microsoft Fabric

Эта функция возвращает текущую дату системы базы данных в качестве значения даты без смещения часового пояса и времени базы данных. CURRENT_DATEполучает это значение от базовой операционной системы на ядро СУБД выполняется.

Примечание.

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

Эта функция эквивалентна ANSI SQL CAST(GETDATE() AS DATE). Дополнительные сведения см. в разделе GETDATE.

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

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

Синтаксис

CURRENT_DATE

Аргументы

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

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

date

Замечания

Инструкции Transact-SQL могут ссылаться на CURRENT_DATE любое место, где они могут ссылаться на выражение даты .

CURRENT_DATE является недетерминированной функцией. Представления и выражения, ссылающиеся на этот столбец, не могут быть индексированы.

Примеры

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

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

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

Вот результирующий набор.

Тип данных Значение
SYSDATETIME() 2024-06-26 14:04:21.6172014
SYSDATETIMEOFFSET() 2024-06-26 14:04:21.6172014 -05:00
SYSUTCDATETIME() 2024-06-26 19:04:21.6172014
CURRENT_TIMESTAMP 2024-06-26 14:04:21.617
GETDATE() 2024-06-26 14:04:21.617
GETUTCDATE() 2024-06-26 19:04:21.617
CURRENT_DATE 2024-06-26

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

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

Вот результирующий набор.

Тип данных Значение
SYSDATETIME() 2024-06-26
SYSDATETIMEOFFSET() 2024-06-26
SYSUTCDATETIME() 2024-06-26
CURRENT_TIMESTAMP 2024-06-26
GETDATE() 2024-06-26
GETUTCDATE() 2024-06-26
CURRENT_DATE 2024-06-26