次の方法で共有


EOMONTH (Transact-SQL)

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

この関数は、オプションのオフセットを使用して、指定された日付を含んでいる月の最後の日付を返します。

ヒント

SQL Server 2022 (16.x) 以降のバージョンでは、 DATETRUNC を使用して月の開始を計算できます。

Transact-SQL 構文表記規則

構文

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