CURRENT_DATE (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Base de Dados SQL do Azure AzureSQL Managed InstanceSQL database in Microsoft Fabric

A CURRENT_DATE função Transact-SQL (T-SQL) devolve a data atual do sistema de base de dados como valor de data , sem o deslocamento de tempo e fuso horário da base de dados. CURRENT_DATEderiva este valor do sistema operativo subjacente onde o Database Engine corre.

Observação

SYSDATETIME e SYSUTCDATE têm mais precisão, medida por frações de segundos de precisão, do que GETDATE e GETUTCDATE. A SYSDATETIMEOFFSET função inclui o deslocamento de fuso horário do sistema. Você pode atribuir SYSDATETIME, SYSUTCDATETIMEe SYSDATETIMEOFFSET a uma variável de qualquer um dos tipos de data e hora.

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

Observação

Base 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 modificar o fuso horário ao nível da base de dados ou da sessão , esta função devolve a hora local com base no valor do fuso horário configurado. Para mais informações, consulte ALTER DATABASE SCOPED CONFIGURATIONeSET FUSO HORÁRIO.

Consulte Tipos e funções de dados de data e hora para obter uma visão geral de todos os tipos e funções de dados de data e hora Transact-SQL.

Transact-SQL convenções de sintaxe

Sintaxe

CURRENT_DATE

Arguments

Esta função não aceita argumentos.

Tipos de devolução

date

Observações

Transact-SQL declarações podem referir-se a CURRENT_DATE qualquer lugar onde possam referir-se a uma expressão de data .

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

Examples

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

A. Obter a data e hora atuais do sistema

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

Aqui está 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 para o 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;

Aqui está 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