Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Возвращает значение datetime2, содержащее дату и время компьютера, на котором выполняется экземпляр SQL Server. Возвращаемые дата и время отображаются в формате UTC. Точность дробной части значения секунд может быть задана в диапазоне от 1 до 7 цифр. Точность по умолчанию составляет 7 цифр.
Необходимо учесть следующие моменты.
SYSDATETIMEиSYSUTCDATETIMEимеет более дробную точность секунд, чемGETDATEиGETUTCDATE.SYSDATETIMEOFFSETвключает смещение часового пояса системы.SYSDATETIME,SYSUTCDATETIMEиSYSDATETIMEOFFSETможет быть назначен переменной любого из типов даты и времени.
Общие сведения обо всех Transact-SQL типах и функциях данных даты и времени см. в разделе "Типы и функции данных даты и времени".
Соглашения о синтаксисе Transact-SQL
Syntax
SYSUTCDATETIME ( )
Типы возвращаемых данных
datetime2
Remarks
Transact-SQL операторы могут ссылаться на SYSUTCDATETIME любое место, где они могут ссылаться на выражение datetime2 .
SYSUTCDATETIME является недетерминированной функцией. Представления и выражения, ссылающиеся на эту функцию в столбце, не могут быть индексированы.
Note
SQL Server получает значения даты и времени с помощью GetSystemTimeAsFileTime() API Windows. Точность зависит от оборудования компьютера и версии Windows, в которой выполняется экземпляр SQL Server. Точность возвращаемых значений этого API-интерфейса задана равной 100 нс. Точность можно определить с помощью GetSystemTimeAdjustment() API Windows.
Examples
В следующих примерах используются шесть системных функций SQL Server, возвращающих текущую дату и время для возврата даты, времени или обоих. Значения возвращаются последовательно и поэтому могут различаться на доли секунды.
A. Отображение форматов, возвращаемых функциями даты и времени
В следующем примере показаны различные идентификаторы, возвращаемые функциями даты и времени.
SELECT SYSDATETIME() AS [SYSDATETIME()],
SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
SYSUTCDATETIME() AS [SYSUTCDATETIME()],
CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
GETDATE() AS [GETDATE()],
GETUTCDATE() AS [GETUTCDATE()];
Вот результирующий набор.
SYSDATETIME() 2025-10-20 13:10:02.0474381
SYSDATETIMEOFFSET() 2025-10-20 13:10:02.0474381 -07:00
SYSUTCDATETIME() 2025-10-20 20:10:02.0474381
CURRENT_TIMESTAMP 2025-10-20 13:10:02.047
GETDATE() 2025-10-20 13:10:02.047
GETUTCDATE() 2025-10-20 20:10:02.047
B. Преобразование даты и времени в дату
В следующем примере показано, как преобразовать значения даты и времени в тип данных даты .
SELECT CONVERT (DATE, SYSDATETIME()),
CONVERT (DATE, SYSDATETIMEOFFSET()),
CONVERT (DATE, SYSUTCDATETIME()),
CONVERT (DATE, CURRENT_TIMESTAMP),
CONVERT (DATE, GETDATE()),
CONVERT (DATE, GETUTCDATE());
Вот результирующий набор.
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
C. Преобразование значений даты и времени в время
В следующем примере показано, как преобразовать значения даты и времени в тип данных времени .
DECLARE @DATETIME AS DATETIME = GetDate();
DECLARE @TIME AS TIME;
SELECT @TIME = CONVERT (TIME, @DATETIME);
SELECT @TIME AS 'Time',
@DATETIME AS 'Date Time';
Вот результирующий набор.
Time Date Time
13:49:33.6330000 2025-10-20 13:49:33.633