EOMONTH (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
この関数は、オプションのオフセットを使用して、指定された日付を含んでいる月の最後の日付を返します。
ヒント
SQL Server 2022 (16.x) 以降のバージョンでは、 DATETRUNC を使用して月の開始を計算できます。
構文
EOMONTH ( start_date [ , month_to_add ] )
引数
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/2024';
SELECT EOMONTH(@date) AS Result;
GO
結果セットは次のとおりです。
Result
------------
2024-12-31
B. 文字列パラメーターと暗黙的な変換を使用する EOMONTH
DECLARE @date VARCHAR(255) = '12/1/2024';
SELECT EOMONTH(@date) AS Result;
GO
結果セットは次のとおりです。
Result
------------
2024-12-31
C: month_to_add パラメーターを使用する EOMONTH と使用しない EOMONTH
これらの結果セットに示されている値は、12/01/2024
から 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
結果セットは次のとおりです。
This Month
-----------------------
2024-12-31
Next Month
-----------------------
2025-01-31
Last Month
-----------------------
2024-11-30