Partilhar via


SYSUTCDATETIME (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Retorna um valor datetime2 que contém a data e a hora do computador no qual a instância do SQL Server está sendo executada. A data e a hora são retornadas como hora UTC (Tempo Universal Coordenado). A especificação de precisão de segundo fracionário tem um intervalo de 1 a 7 dígitos. A precisão padrão é de 7 dígitos.

Considere:

  • 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, 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 todos os tipos e funções de dados de data e hora Transact-SQL, consulte Tipos e funções de dados de data e hora.

Transact-SQL convenções de sintaxe

Syntax

SYSUTCDATETIME ( )

Tipos de devolução

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. Os modos de exibição e expressões que fazem referência a essa função em uma coluna não podem ser indexados.

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 na qual a instância do SQL Server está sendo executada. A precisão desta API é fixada em 100 nanossegundos. A precisão pode ser determinada usando a API do GetSystemTimeAdjustment() Windows.

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.

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

O exemplo a seguir mostra os diferentes formatos 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()];

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

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

Aqui está o conjunto de resultados.

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