EOMONTH (Transact-SQL)EOMONTH (Transact-SQL)

ESTE TÓPICO APLICA-SE A:simSQL Server (a partir de 2012)simAzure SQL DatabasesimAzure SQL Data Warehouse simParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2012)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Essa função retorna o último dia do mês que contém uma data especificada com um deslocamento opcional.This function returns the last day of the month containing a specified date, with an optional offset.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

EOMONTH ( start_date [, month_to_add ] )  

ArgumentosArguments

start_datestart_date
Uma expressão de data que especifica a data para a qual retornar o último dia do mês.A date expression that specifies the date for which to return the last day of the month.

month_to_addmonth_to_add
Uma expressão de inteiro opcional que especifica o número de meses a serem adicionados a start_date.An optional integer expression that specifies the number of months to add to 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.If the month_to_add argument has a value, then EOMONTH adds the specified number of months to start_date, and then returns the last day of the month for the resulting date. Se essa adição exceder o intervalo de datas válido, EOMONTH gerará um erro.If this addition overflows the valid range of dates, then EOMONTH will raise an error.

Tipo de retornoReturn Type

datedate

RemarksRemarks

A função EOMONTH pode ser remota para servidores SQL Server 2012 (11.x)SQL Server 2012 (11.x) e posteriores.The EOMONTH function can remote to SQL Server 2012 (11.x)SQL Server 2012 (11.x) servers and higher. Ela não pode ser remota para servidores com versão anterior a SQL Server 2012 (11.x)SQL Server 2012 (11.x).It cannot be remote to servers with a version lower than SQL Server 2012 (11.x)SQL Server 2012 (11.x).

ExemplosExamples

A.A. EOMONTH com tipo datetime explícitoEOMONTH with explicit datetime type

DECLARE @date DATETIME = '12/1/2011';  
SELECT EOMONTH ( @date ) AS Result;  
GO  

Aqui está o conjunto de resultados.Here is the result set.

Result  
------------  
2011-12-31  

(1 row(s) affected)  

B.B. EOMONTH com parâmetro de cadeia de caracteres e conversão implícitaEOMONTH with string parameter and implicit conversion

DECLARE @date VARCHAR(255) = '12/1/2011';  
SELECT EOMONTH ( @date ) AS Result;  
GO  

Aqui está o conjunto de resultados.Here is the result set.

Result  
------------  
2011-12-31  

(1 row(s) affected)  

C.C. EOMONTH com e sem o parâmetro month_to_addEOMONTH with and without the month_to_add parameter

Observação: os valores mostrados nesses conjuntos de resultados refletem uma data de execução entre e incluindoNote: the values shown in these result sets reflect an execution date between and including

    12/01/2011

    and

    12/31/2011
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.Here is the result set.

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)