| title | EOMONTH (Transact-SQL) | ||
|---|---|---|---|
| description | EOMONTH (Transact-SQL) | ||
| author | markingmyname | ||
| ms.author | maghan | ||
| ms.date | 03/04/2017 | ||
| ms.prod | sql | ||
| ms.technology | t-sql | ||
| ms.topic | reference | ||
| f1_keywords |
|
||
| helpviewer_keywords |
|
||
| dev_langs |
|
||
| monikerRange | >= aps-pdw-2016 || = azuresqldb-current || = azure-sqldw-latest || >= sql-server-2016 || >= sql-server-linux-2017 || = azuresqldb-mi-current |
[!INCLUDE sql-asdb-asdbmi-asa-pdw]
This function returns the last day of the month containing a specified date, with an optional offset.
Transact-SQL Syntax Conventions
EOMONTH ( start_date [, month_to_add ] )
[!INCLUDEsql-server-tsql-previous-offline-documentation]
start_date
A date expression that specifies the date for which to return the last day of the month.
month_to_add
An optional integer expression that specifies the number of months to add to start_date.
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. If this addition overflows the valid range of dates, then EOMONTH will raise an error.
date
The EOMONTH function can remote to [!INCLUDEssSQL11] servers and higher. It cannot be remote to servers with a version lower than [!INCLUDEssSQL11].
DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO [!INCLUDEssResult]
Result
------------
2011-12-31
(1 row(s) affected)
DECLARE @date VARCHAR(255) = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO [!INCLUDEssResult]
Result
------------
2011-12-31
(1 row(s) affected)
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 [!INCLUDEssResult]
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)