# DATE\_ADD

Добавляет интервал указанной единицы к заданной метке времени. Вычитание можно выполнить, используя отрицательное значение интервала.

## Синтаксис

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

## Аргументы

#### UNIT

Тип: `string`

Единица времени для добавления.

Это может быть одна из следующих операций:

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

#### VALUE

Тип: `bigint`

Целочисленное значение `UNIT`, которое нужно добавить к `TIMESTAMP`.

Может быть положительным (для будущего времени) или отрицательным (для прошлого времени).

#### TIMESTAMP

Тип: `timestamp`

Метка времени для изменения.

## Возвращает

Тип: `timestamp`

`TIMESTAMP`, к которому добавлено `INTERVAL` заданного `NUMBER`.

***

## Примеры

| UNIT | ЗНАЧЕНИЕ | TIMESTAMP | Выходные данные |
| --- | --- | --- | --- |
| день | 1 | `2001-08-22 03:04:05.321` | `2001-08-23 03:04:05.321` |
| год | 5 | `2001-08-22 03:04:05.321` | `2006-08-22 03:04:05.321` |
| второй | 30 | `2001-08-22 03:04:05.321` | `2001-08-22 03:04:35.321` |
| квартал | 1 | `2001-08-22 03:04:05.321` | `2001-11-22 03:04:05.321` |
| квартал | -1 | `2001-08-22 03:04:05.321` | `2001-05-22 03:04:05.321` |
| квартал | 0 | `2001-08-22 03:04:05.321` | `2001-08-22 03:04:05.321` |
| год | 1 | `null` | `null` |