# DATE\_ADD

Adiciona um intervalo de uma unidade especificada a um determinado carimbo de data/hora. A subtração pode ser realizada usando um valor de intervalo negativo.

## Sintaxe

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

## Argumentos

#### UNIT

Tipo: `string`

A unidade de tempo a ser adicionada.

Pode ser um dos seguintes:

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

#### VALUE

Tipo: `bigint`

O valor inteiro de `UNIT` a ser adicionado a `TIMESTAMP`.

Pode ser positivo (para horários no futuro) ou negativo (para horários no passado).

#### TIMESTAMP

Tipo: `timestamp`

O carimbo de data/hora a ser modificado.

## Retorna

Tipo: `timestamp`

O `TIMESTAMP` com um `INTERVAL` do `NUMBER` fornecido adicionado a ele.

***

## Exemplos

| UNIT | VALUE | TIMESTAMP | Saída |
| --- | --- | --- | --- |
| dia | 1 | `2001-08-22 03:04:05.321` | `2001-08-23 03:04:05.321` |
| ano | 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` |
| trimestre | 1 | `2001-08-22 03:04:05.321` | `2001-11-22 03:04:05.321` |
| trimestre | -1 | `2001-08-22 03:04:05.321` | `2001-05-22 03:04:05.321` |
| trimestre | 0 | `2001-08-22 03:04:05.321` | `2001-08-22 03:04:05.321` |
| ano | 1 | `null` | `null` |