Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Banco 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