Compartilhar via


SYSUTCDATETIME (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Retorna um valor de datetime2 que contém a data e a hora do computador no qual a instância de SQL Server está sendo executada. 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() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Veja a seguir o conjunto de resultados.

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. 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());

Veja a seguir o conjunto de resultados.

2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20

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 .

DECLARE @DATETIME AS DATETIME = GetDate();
DECLARE @TIME AS TIME;
SELECT @TIME = CONVERT (TIME, @DATETIME);
SELECT @TIME AS 'Time',
       @DATETIME AS 'Date Time';

Veja a seguir o conjunto de resultados.

Time             Date Time
13:49:33.6330000 2025-10-20 13:49:33.633