CURRENT_DATE (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Banco de Dados SQL do AzureBanco de DadosSQL do Azure Banco de Dados SQL banco de dados SQL do Banco de Dados SQL do Azurebanco de dados SQL no Microsoft Fabric

A CURRENT_DATE função Transact-SQL (T-SQL) retorna a data atual do sistema de banco de dados como valor de data , sem o deslocamento de horário e fuso horário do banco de dados. CURRENT_DATEesse valor deriva do sistema operacional subjacente no qual o Mecanismo de Banco de Dados roda.

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.

Essa função é o equivalente ANSI SQL a CAST(GETDATE() AS DATE). Para obter mais informações, consulte GETDATE.

Observação

Banco de Dados SQL do Azure e SQL Database no Microsoft Fabric suportam a alteração do fuso horário padrão a partir do horário coordenado universal (UTC). Se você modificar o fuso horário no nível do banco de dados ou da sessão , essa função retorna o horário local com base no valor do fuso horário configurado. Para mais informações, veja ALTER DATABASE SCOPED CONFIGURATIONeSET FUSO HORÁRIO.

Consulte 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_DATE

Argumentos

Essa função não utiliza argumentos.

Tipos de retorno

date

Comentários

As instruções Transact-SQL podem se referir a CURRENT_DATE qualquer lugar em que possam se referir a uma expressão de data .

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

Exemplos

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

R. Obter a data e a hora atuais do sistema

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Veja a seguir o conjunto de resultados.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Obter a data atual do sistema

O exemplo a seguir mostra como converter valores de data e hora no 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()),
       CURRENT_DATE;

Veja a seguir o conjunto de resultados.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01