SYSDATETIME (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

A SYSDATETIME função Transact-SQL (T-SQL) retorna um valor datetime2(7) que contém a data e hora do computador no qual a instância de SQL Server está rodando.

Observação

SYSDATETIME e SYSUTCDATETIME ter mais precisão de segundos fracionários do que GETDATE e GETUTCDATE. SYSDATETIMEOFFSET inclui o deslocamento de fuso horário do sistema. SYSDATETIME, SYSUTCDATETIME, e SYSDATETIMEOFFSET podem ser atribuídas a uma variável de qualquer um dos tipos de data e hora.

Azure Synapse Analytics segue o UTC. Use AT TIME ZONE no Azure Synapse Analytics se precisar interpretar informações de data e hora em um fuso horário que não seja UTC.

Observação

Banco de Dados SQL do Azure e SQL Database no Microsoft Fabric suportam a alteração do fuso horário padrão a partir do horário coordenado universal (UTC). Se você modificar o fuso horário no nível do banco de dados ou da sessão , essa função retorna o horário local com base no valor do fuso horário configurado. Para mais informações, veja ALTER DATABASE SCOPED CONFIGURATIONeSET FUSO HORÁRIO.

Consulte Tipos de dados e funções de data e hora para obter uma visão geral de todos os tipos de dados e funções de data e hora do Transact-SQL.

Convenções de sintaxe de Transact-SQL

Sintaxe

SYSDATETIME ( )

Tipos de retorno

Datetime2 (7)

Comentários

Transact-SQL instruções podem se referir a SYSDATETIME qualquer lugar onde possam se referir a uma expressão datetime2(7).

SYSDATETIME é uma função não determinística. Você não pode indexar visualizações e expressões que referenciam essa função em uma coluna.

Observação

O SQL Server obtém os valores de data e hora usando a API do Windows GetSystemTimeAsFileTime(). A precisão depende do hardware do computador e da versão do Windows no qual a instância do SQL Server está sendo executada. A precisão desta API está fixada em 100 nanosegundos. Você pode usar a API do Windows GetSystemTimeAdjustment() para determinar a precisão.

Exemplos

Os exemplos a seguir usam as seis funções de sistema do SQL Server que retornam a data e a hora atuais para retornar a data, a hora ou ambas. Os valores são retornados em série; portanto, seus segundos fracionários podem ser diferentes.

Nesses exemplos, suponha que a data atual seja 30 de abril de 2026.

a. Obter a data e a hora atuais do sistema

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

Veja a seguir o conjunto de resultados.

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. Obter a data atual do sistema

O exemplo a seguir mostra como converter valores de data e hora no tipo de dados de data .

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

Veja a seguir o conjunto de resultados.

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

C. Obter a hora atual do sistema

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

Veja a seguir o conjunto de resultados.

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

Exemplos: Azure Synapse Analytics

D. Obter a data e a hora atuais do sistema

SELECT SYSDATETIME();

Veja a seguir o conjunto de resultados.

--------------------------
4/30/2026 1:10:02 PM