Partilhar via


EOMONTH (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Esta função devolve o último dia do mês contendo uma data especificada, com um deslocamento opcional.

Sugestão

No SQL Server 2022 (16.x) e versões posteriores, pode usar o DATETRUNC para calcular o início do mês.

Transact-SQL convenções de sintaxe

Sintaxe

EOMONTH ( start_date [ , month_to_add ] )

Arguments

start_date

Uma expressão de data que especifica a data para a qual se deve devolver o último dia do mês.

month_to_add

Uma expressão inteira opcional que especifica o número de meses a adicionar a start_date.

Se o argumento month_to_add tiver um valor, então EOMONTH soma o número de meses especificado à start_date e depois devolve o último dia do mês para a data resultante. Se esta adição ultrapassar o intervalo válido de datas, gera EOMONTH um erro.

Tipos de devolução

date

Observações

A EOMONTH função pode aceder remotamente a instâncias a correr SQL Server 2012 (11.x) e versões posteriores. Não pode fazer remotamente ligação remota a instâncias com uma versão anterior ao SQL Server 2012 (11.x).

Examples

A. EOMONTH com tipo explícito de data-hora

DECLARE @date DATETIME = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Aqui está o conjunto de resultados.

Result
------------
2024-12-31

B. EOMONTH com parâmetro de cadeia e conversão implícita

DECLARE @date VARCHAR(255) = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Aqui está o conjunto de resultados.

Result
------------
2024-12-31

C. EOMONTH com e sem o parâmetro month_to_add

Os valores apresentados nestes conjuntos de resultados refletem uma data de execução entre e incluindo 12/01/2024 e 12/31/2024.

DECLARE @date DATETIME = '2024-12-31';

SELECT EOMONTH(@date) AS 'This Month';
SELECT EOMONTH(@date, 1) AS 'Next Month';
SELECT EOMONTH(@date, -1) AS 'Last Month';
GO

Aqui está o conjunto de resultados.

This Month
-----------------------
2024-12-31

Next Month
-----------------------
2025-01-31

Last Month
-----------------------
2024-11-30