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
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Endpoint de análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
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