Partilhar via


CURRENT_TIMESTAMP (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric

Essa função retorna o carimbo de data/hora do sistema do banco de dados atual como um valor de datetime sem o deslocamento de fuso horário do banco de dados. CURRENT_TIMESTAMP deriva esse valor do sistema operacional do computador no qual a instância do SQL Server é executada.

Observação

SYSDATETIME e SYSUTCDATE têm mais precisão, conforme medido pela precisão de segundos fracionários, que GETDATE e GETUTCDATE. A função SYSDATETIMEOFFSET inclui o deslocamento de fuso horário do sistema. Você pode atribuir SYSDATETIME, SYSUTCDATETIME e SYSDATETIMEOFFSET a uma variável de qualquer um dos tipos de data e hora.

Esta função é o equivalente ANSI SQL de GETDATE.

Veja 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

CURRENT_TIMESTAMP  

Argumentos

Essa função não utiliza argumentos.

Tipo de retorno

datetime

Comentários

Instruções Transact-SQL podem se referir a CURRENT_TIMESTAMP sempre que puderem fazer referência a uma expressão datetime.

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

Exemplos

Estes exemplos usam as seis funções de sistema SQL Server que retornam valores de data e a hora atuais para retornar a data, a hora ou ambas. Os exemplos retornam os valores em série, portanto, seus segundos fracionários podem ser diferentes. Observe que os valores reais retornados refletirão o dia/a hora real de execução.

a. Obter a data e a hora atuais do sistema

SELECT SYSDATETIME()  
    ,SYSDATETIMEOFFSET()  
    ,SYSUTCDATETIME()  
    ,CURRENT_TIMESTAMP  
    ,GETDATE()  
    ,GETUTCDATE();  
/* Returned:  
SYSDATETIME()      2007-04-30 13:10:02.0474381  
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00  
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381  
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047  
GETDATE()          2007-04-30 13:10:02.047  
GETUTCDATE()       2007-04-30 20:10:02.047  
*/

B. Obter a data atual do sistema

SELECT CONVERT (DATE, SYSDATETIME())  
    ,CONVERT (DATE, SYSDATETIMEOFFSET())  
    ,CONVERT (DATE, SYSUTCDATETIME())  
    ,CONVERT (DATE, CURRENT_TIMESTAMP)  
    ,CONVERT (DATE, GETDATE())  
    ,CONVERT (DATE, GETUTCDATE());  
  
/* Returned   
SYSDATETIME()      2007-05-03  
SYSDATETIMEOFFSET()2007-05-03  
SYSUTCDATETIME()   2007-05-04  
CURRENT_TIMESTAMP  2007-05-03  
GETDATE()          2007-05-03  
GETUTCDATE()       2007-05-04  
*/  

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());  
  
/* Returned  
SYSDATETIME()      13:18:45.3490361  
SYSDATETIMEOFFSET()13:18:45.3490361  
SYSUTCDATETIME()   20:18:45.3490361  
CURRENT_TIMESTAMP  13:18:45.3470000  
GETDATE()          13:18:45.3470000  
GETUTCDATE()       20:18:45.3470000  
*/  

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

SELECT CURRENT_TIMESTAMP;