SYSDATETIME (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
Retorna um valor de datetime2(7) que contém a data e a hora do computador no qual a instância de SQL Server está sendo executada.
Observação
SYSDATETIME e SYSUTCDATETIME têm mais precisão de segundos fracionários que GETDATE e GETUTCDATE. SYSDATETIMEOFFSET inclui o deslocamento de fuso horário do sistema. SYSDATETIME, SYSUTCDATETIME e SYSDATETIMEOFFSET podem ser atribuídos a uma variável de qualquer um dos tipos de data e hora.
O Banco de Dados SQL do Azure (com exceção da Instância Gerenciada de SQL do Azure) e o Azure Synapse Analytics seguem o UTC. Use AT TIME ZONE no Banco de Dados SQL do Azure ou no Azure Synapse Analytics se precisar interpretar informações de data e hora em um fuso horário diferente do UTC.
Para ter uma visão geral de todas as funções e tipos de dados de data e hora do Transact-SQL, confira Funções e tipos de dados de data e hora (Transact-SQL).
Convenções de sintaxe de Transact-SQL
Sintaxe
SYSDATETIME ( )
Tipo de retorno
Datetime2 (7)
Comentários
As instruções Transact-SQL podem fazer referência a SYSDATETIME em qualquer lugar em que possam fazer referência a uma expressão datetime2(7).
SYSDATETIMET é 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.
Observação
SQL Server obtém os valores de data e hora usando a API do Windows GetSystemTimeAsFileTime(). 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 Windows GetSystemTimeAdjustment().
Exemplos
Os exemplos a seguir usam as seis funções do 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. Obtendo 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. Obtendo 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());
/* All returned 2007-04-30 */
C. Obtendo 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)
D: Obtendo a data e a hora atuais do sistema
SELECT SYSDATETIME();
Veja a seguir o conjunto de resultados.
--------------------------
7/20/2013 2:49:59 PM
Confira também
CAST e CONVERT (Transact-SQL)
tipos de dados e funções de data e hora (Transact-SQL)