EOMONTH (Transact-SQL)
Retorna o último dia do mês que contém a data especificada com um deslocamento opcional.
Convenções da sintaxe Transact-SQL
Sintaxe
EOMONTH ( start_date [, month_to_add ] )
Argumentos
start_date
Expressão de data que especifica a data para a qual retornar o último dia do mês.month_to_add
Expressão de inteiro opcional que especifica o número de meses a adicionar a start_date.Se esse argumento for especificado, EOMONTH adicionará o número de meses especificado a start_date e retornará o último dia do mês da data resultante. Se essa adição exceder o intervalo de datas válido, um erro será lançado.
Tipo de retorno
date
Comentários
Essa função pode ser remota para servidores SQL Server 2012 e posteriores. Ela não pode ser remota para servidores com versão anterior a SQL Server 2012.
Exemplos
A.EOMONTH com tipo datetime explícito
DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
Aqui está o conjunto de resultados.
Result
------------
2011-12-31
(1 row(s) affected)
B.EOMONTH com parâmetro de cadeia de caracteres e conversão implícita
DECLARE @date VARCHAR(255) = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
Aqui está o conjunto de resultados.
Result
------------
2011-12-31
(1 row(s) affected)
C.EOMONTH com e sem o parâmetro month_to_add
DECLARE @date DATETIME = GETDATE();
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
-----------------------
2011-12-31
(1 row(s) affected)
Next Month
-----------------------
2012-01-31
(1 row(s) affected)
Last Month
-----------------------
2011-11-30
(1 row(s) affected)