EOMONTH (Transact-SQL)
適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
この関数は、オプションのオフセットを使用して、指定された日付を含んでいる月の最後の日付を返します。
構文
EOMONTH ( start_date [, month_to_add ] )
Note
SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
start_date
月の最終日を返す日付を指定する日付の式。
month_to_add
start_date に追加する月数を指定する省略可能な整数式。
month_to_add 引数に値が指定されると、EOMONTH
は指定された月数を start_date に追加し、結果として生成された月の最終日を返します。 この整数式を追加したことによって有効な日付範囲をオーバーフローすると、EOMONTH
はエラーを生成します。
戻り値の型
date
解説
EOMONTH
関数は、SQL Server 2012 (11.x) 以降のサーバーに対してリモート処理が可能です。 SQL Server 2012 (11.x) よりも前のバージョンのサーバーに対してリモート処理を実行することはできません。
例
A. 明示的な datetime 型を使用する EOMONTH
DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
結果セットは次のようになります。
Result
------------
2011-12-31
(1 row(s) affected)
B. 文字列パラメーターと暗黙的な変換を使用する EOMONTH
DECLARE @date VARCHAR(255) = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
結果セットは次のようになります。
Result
------------
2011-12-31
(1 row(s) affected)
C. month_to_add パラメーターを使用する EOMONTH と使用しない EOMONTH
これらの結果セットに示されている値は、12/01/2011
から 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
結果セットは次のようになります。
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)