# DATE\_ADD

Ajoute un intervalle d'une unité spécifiée à un horodatage donné. La soustraction peut être effectuée en utilisant une valeur d'intervalle négative.

## Syntaxe

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

## Arguments

#### UNIT

Type : `string`

Unité de temps à ajouter.

Il peut s'agir de l'une des valeurs suivantes :

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

#### VALUE

Type : `bigint`

Valeur entière de l'unité `UNIT` à ajouter à l'horodatage `TIMESTAMP`.

Peut être positif (pour les heures futures) ou négatif (pour les heures passées).

#### TIMESTAMP

Type : `timestamp`

Horodatage à modifier.

## Renvoie

Type : `timestamp`

Horodatage `TIMESTAMP` avec un intervalle `INTERVAL` du nombre `NUMBER` donné qui lui est ajouté.

***

## Exemples

| UNIT | VALUE | TIMESTAMP | Sortie |
| --- | --- | --- | --- |
| 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` |