

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# ADD\$1MONTHS 関数
<a name="r_ADD_MONTHS"></a>

ADD\$1MONTHS は日付またはタイムスタンプの値または式に、指定された月数を加算します。[DATEADD](r_DATEADD_function.md) 関数は同様の機能を提供します。

## 構文
<a name="r_ADD_MONTHS-synopsis"></a>

```
ADD_MONTHS( {date | timestamp}, integer)
```

## 引数
<a name="r_ADD_MONTHS-arguments"></a>

 *date* \$1 *timestamp*   
データ型 `DATE` または `TIMESTAMP` の列、あるいは `DATE` 型または `TIMESTAMP` 型に暗黙的に評価される式。date がその月の最終日である場合、または結果の月が短い場合、関数は結果に月の最終日を返します。その他の日付の場合、結果には date 式と同じ日数が含まれます。

 * (整数*)   
データ型 `INTEGER` の値。負の数を使用し、日付から月を削除します。

## 戻り型
<a name="r_ADD_MONTHS-return-type"></a>

TIMESTAMP

## 例
<a name="r_ADD_MONTHS-example"></a>

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

```
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\$1MONTHS 関数を使用して、*timestamp* に 1 か月を加算しています。

```
select add_months('2008-01-01 05:07:30', 1); 

add_months
---------------------
2008-02-01 05:07:30
```

次の例は、ADD\$1MONTHS 関数が異なる日数の月を持つ日付で実行される動作を示しています。この例は、関数が 3 月 31 日への 1 か月の加算と、4 月 30 日への 1 か月の加算をどのように処理するかを示しています。4 月は 30 日間あるので、3 月 31 日に 1 か月を加えると 4 月 30 日になります。5 月は 31 日間あるので、4 月 30 日に 1 か月を加えると 5 月 31 日になります。

```
select add_months('2008-03-31',1);

add_months
---------------------
2008-04-30 00:00:00

select add_months('2008-04-30',1); 

add_months
---------------------
2008-05-31 00:00:00
```