EOMONTH (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Essa função retorna o último dia do mês que contém uma data especificada com um deslocamento opcional.

Dica

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

Convenções de sintaxe de Transact-SQL

Sintaxe

EOMONTH ( start_date [ , month_to_add ] )

Argumentos

start_date

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

month_to_add

Uma expressão de inteiro opcional que especifica o número de meses a serem adicionados a start_date.

Se o argumento month_to_add tiver um valor, EOMONTH adicionará o número de meses especificado a start_date e, em seguida, retornará o último dia do mês para a data resultante. Se essa adição ultrapassar o intervalo válido de datas, gerará EOMONTH um erro.

Tipos de retorno

date

Comentários

A EOMONTH função pode ser remota para instâncias que executam o SQL Server 2012 (11.x) e versões posteriores. Ele não pode remotar instâncias com uma versão anterior ao SQL Server 2012 (11.x).

Exemplos

a. EOMONTH com tipo datetime explícito

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

SELECT EOMONTH(@date) AS Result;
GO

Veja a seguir o conjunto de resultados.

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

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

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

SELECT EOMONTH(@date) AS Result;
GO

Veja a seguir o conjunto de resultados.

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

C. EOMONTH com e sem o parâmetro month_to_add

Os valores mostrados nesses conjuntos de resultados refletem uma data de execução entre 12/01/2024 e 12/31/2024 inclusive.

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

Veja a seguir o conjunto de resultados.

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

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

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