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:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Devolve o carimbo temporal atual do sistema de base de dados como valor de data-hora sem o deslocamento do fuso horário da base de dados. Este valor é derivado do sistema operativo do computador onde a instância do SQL Server está a correr.
Observação
SYSDATETIME e SYSUTCDATETIME têm mais precisão em frações de segundo do que GETDATE e GETUTCDATE. O SYSDATETIMEOFFSET inclui o deslocamento do 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.
Azure SQL Database (com exceção do Azure SQL Managed Instance) e Azure Synapse Analytics seguem o UTC. Use AT TIME ZONE no Azure SQL Database ou Azure Synapse Analytics se precisar de interpretar informações de data e hora num fuso horário que não seja UTC.
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
GETDATE()
Tipo de Retorno
datetime
Observações
Transact-SQL sentenças podem referir-se a GETDATE em qualquer lugar, podem referir-se a uma expressão de data-hora .
GETDATE é uma função não determinística. Vistas e expressões que referenciam esta função numa coluna não podem ser indexadas.
Usar SWITCHOFFSET com a função GETDATE() pode fazer com que a consulta corra lentamente porque o otimizador da consulta não consegue obter estimativas precisas de cardinalidade para o valor GETDATE. Recomendamos que pré-calcule o valor GETDATE e depois especifique esse valor na consulta, como mostrado no exemplo seguinte. Além disso, use a dica de consulta OPTION (RECOMPILE) para forçar o otimizador de consultas a recompilar um plano de consulta na próxima vez que a mesma consulta for executada. O otimizador terá então estimativas precisas de cardinalidade para o GETDATE() e produzirá um plano de consulta mais eficiente.
DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00');
SELECT * FROM t
WHERE c1 > @dt OPTION (RECOMPILE);
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. Obtenção da data e hora atuais do sistema
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,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. Obtenção da data atual do sistema
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.
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());
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
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
Os exemplos seguintes usam as três funções do sistema SQL Server que retornam a data e hora atuais para devolver a data, hora ou ambas. Os valores são retornados em série; portanto, seus segundos fracionários podem ser diferentes.
D. Obtenção da data e hora atuais do sistema
SELECT SYSDATETIME()
,CURRENT_TIMESTAMP
,GETDATE();
E. Obtenção da data atual do sistema
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE());
F. Obter a hora atual do sistema
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE());