Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics 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