# DATE\_ADD

指定された単位の間隔を、指定されたタイムスタンプに追加します。減算は、負の間隔値を使用することで実行できます。

## 構文

```
DATE_ADD(UNIT, VALUE, TIMESTAMP)
```

## 引数

#### UNIT

型: `string`

追加する時間の単位。

次のいずれかになります。

* `year`
* `quarter`
* `month`
* `week`
* `day`
* `hour`
* `minute`
* `second`
* `millisecond`

#### VALUE

型: `bigint`

`TIMESTAMP` に追加する `UNIT` の整数値。

将来の時刻の場合は正、過去の時刻の場合は負になります。

#### TIMESTAMP

型: `timestamp`

変更するタイムスタンプ。

## 戻り値

型: `timestamp`

指定された `NUMBER` の `INTERVAL` が追加された `TIMESTAMP` 。

***

## 例

| UNIT | VALUE | TIMESTAMP | 出力 |
| --- | --- | --- | --- |
| day | 1 | `2001-08-22 03:04:05.321` | `2001-08-23 03:04:05.321` |
| year | 5 | `2001-08-22 03:04:05.321` | `2006-08-22 03:04:05.321` |
| second | 30 | `2001-08-22 03:04:05.321` | `2001-08-22 03:04:35.321` |
| quarter | 1 | `2001-08-22 03:04:05.321` | `2001-11-22 03:04:05.321` |
| quarter | -1 | `2001-08-22 03:04:05.321` | `2001-05-22 03:04:05.321` |
| quarter | 0 | `2001-08-22 03:04:05.321` | `2001-08-22 03:04:05.321` |
| year | 1 | `null` | `null` |