メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

ADD_MONTHS 関数

ADD_MONTHS は日付またはタイムスタンプの値または式に、指定された月数を加算します。DATEADD 関数は同様の機能を提供します。

構文

Copy
ADD_MONTHS( {date | timestamp}, integer)

引数

date|timestamp

日付またはタイムスタンプの列、あるいは暗黙的に日付またはタイムスタンプに変換される式。date がその月の最終日である場合、または結果の月が短い場合、関数は結果に月の最終日を返します。その他の日付の場合、結果には date 式と同じ日数が含まれます。

integer

正または負の整数。負の数を使用し、日付から月を削除します。

戻り型

TIMESTAMP

次のクエリは、TRUNC 関数内の ADD_MONTHS 関数を使用します。TRUNC 関数は、ADD_MONTHS の結果から日付の時刻を削除します。ADD_MONTHS 関数は CALDATE 列の値ごとに 12 か月を追加します。

Copy
select distinct trunc(add_months(caldate, 12)) as calplus12, trunc(caldate) as cal from date order by 1 asc; calplus12 | cal ------------+------------ 2009-01-01 | 2008-01-01 2009-01-02 | 2008-01-02 2009-01-03 | 2008-01-03 ... (365 rows)

次の例は、ADD_MONTHS 関数が異なる日数の月を持つ日付で実行される動作を示しています。

Copy
select add_months('2008-03-31',1); add_months --------------------- 2008-04-30 00:00:00 (1 row) select add_months('2008-04-30',1); add_months --------------------- 2008-05-31 00:00:00 (1 row)

このページの内容: