Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Devolve um valor datetimeoffset(7) que contém a data e hora do computador onde a instância do SQL Server está a correr. O deslocamento do fuso horário está incluído.
Para obter uma visão geral de todos os tipos e funções de dados de data e hora Transact-SQL, consulte Tipos de dados e funções de data e hora (Transact-SQL).
Transact-SQL convenções de sintaxe
Sintaxe
SYSDATETIMEOFFSET ( )
Tipo de Retorno
datetimeoffset(7)
Observações
Transact-SQL instruções podem referir-se a SYSDATETIMEOFFSET em qualquer lugar onde possam referir-se a uma expressão datetimeoffset .
SYSDATETIMEOFFSET é uma função não determinística. Vistas e expressões que referenciam esta função numa coluna não podem ser indexadas.
Observação
O SQL Server obtém os valores de data e hora utilizando a API GetSystemTimeAsFileTime() do 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 utilizando a API GetSystemTimeAdjustment() do 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 que são devolvidos pela data e hora funciona
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() 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. Conversão de data e hora até à data
O exemplo seguinte mostra-lhe como converter valores de data e hora para date.
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.
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
C. Converter data e hora para horários
O exemplo seguinte mostra-lhe como converter valores de data e hora para time.
SELECT CONVERT (time, SYSDATETIME()) AS [SYSDATETIME()]
,CONVERT (time, SYSDATETIMEOFFSET()) AS [SYSDATETIMEOFFSET()]
,CONVERT (time, SYSUTCDATETIME()) AS [SYSUTCDATETIME()]
,CONVERT (time, CURRENT_TIMESTAMP) AS [CURRENT_TIMESTAMP]
,CONVERT (time, GETDATE()) AS [GETDATE()]
,CONVERT (time, GETUTCDATE()) AS [GETUTCDATE()];
Aqui está o conjunto de resultados.
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
Ver também
CAST e CONVERT (Transact-SQL)
Data e Hora Tipos de Dados e Funções (Transact-SQL)