SYSUTCDATETIME (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 SYSUTCDATETIME função Transact-SQL (T-SQL) retorna um valor datetimetime2 que contém a data e a hora do computador no qual a instância de SQL Server está rodando. A data e hora são retornadas como hora UTC (Tempo Universal Coordenado). A especificação de precisão de segundo fracionária tem um intervalo de 1 a 7 dígitos. A precisão padrão é 7 dígitos.

Considere:

  • 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, SYSUTCDATETIMEe SYSDATETIMEOFFSET pode ser atribuído a uma variável de qualquer um dos tipos de data e hora.

Para obter uma visão geral de todas as funções e tipos de dados de data e hora Transact-SQL, consulte funções e tipos de dados de data e hora.

Convenções de sintaxe de Transact-SQL

Syntax

SYSUTCDATETIME ( )

Tipos de retorno

datetime2

Remarks

Transact-SQL instruções podem se referir a SYSUTCDATETIME qualquer lugar em que possam se referir a uma expressão datetime2 .

SYSUTCDATETIME é uma função não determinística. Exibições e expressões que fazem referência a essa função em uma coluna não podem ser indexadas.

Note

O SQL Server obtém os valores de data e hora usando a API do GetSystemTimeAsFileTime() Windows. 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. A precisão pode ser determinada usando a API do GetSystemTimeAdjustment() Windows.

Examples

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.

A. Mostrar os formatos retornados pelas funções de data e hora

O exemplo a seguir mostra os diferentes formatos que são retornados pelas funções de data e hora.

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. Converter data e hora em data

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. Converter valores de data e hora em hora

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

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