EOMONTH (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
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