SYSDATETIME (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

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

Observação

SYSDATETIME e SYSUTCDATETIME têm 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 de interpretar informações de data e hora num fuso horário que não seja UTC.

Observação

Base 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 modificar o fuso horário ao nível da base de dados ou da sessão , esta função devolve a hora local com base no valor do fuso horário configurado. Para mais informações, consulte ALTER DATABASE SCOPED CONFIGURATIONeSET FUSO HORÁRIO.

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

Transact-SQL convenções de sintaxe

Sintaxe

SYSDATETIME ( )

Tipos de devolução

datetime2(7)

Observações

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

SYSDATETIME é uma função não determinística. Não podes indexar vistas e expressões que referenciam esta função numa coluna.

Observação

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

Examples

Os exemplos a seguir usam as seis funções do sistema 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.

Nestes exemplos, assuma que a data atual é 30 de abril de 2026.

A. Obter a data e hora atuais do sistema

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

Aqui está 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 para o 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;

Aqui está 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. Obtenha 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());

Aqui está 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 hora atuais do sistema

SELECT SYSDATETIME();

Aqui está o conjunto de resultados.

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