

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Função ADD\$1MONTHS
<a name="ADD_MONTHS"></a>

ADD\$1MONTHS adiciona o número especificado de meses a um valor ou expressão de data ou timestamp. A função [DATE\$1ADD](DATE_ADD_function.md) oferece funcionalidade semelhante. 

## Sintaxe
<a name="ADD_MONTHS-synopsis"></a>

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

## Argumentos
<a name="ADD_MONTHS-arguments"></a>

 *date* \$1 *timestamp*   
Uma coluna de data ou timestamp ou uma expressão que converta implicitamente em uma data ou timestamp. Se a data for o último dia do mês ou se o mês resultante for mais curto, a função retorna o último dia do mês nos resultados. Para outras datas, o resultado contém o mesmo número de dia que a expressão de data. 

 *inteiro*   
Um número inteiro positivo ou negativo. Use um número negativo para subtrair meses de datas. 

## Tipo de retorno
<a name="ADD_MONTHS-return-type"></a>

TIMESTAMP

## Exemplo
<a name="ADD_MONTHS-example"></a>

A seguinte consulta usa a função de ADD\$1MONTHS dentro de uma função TRUNC. A função TRUNC remove o horário do dia dos resultados de ADD\$1MONTHS. A função ADD\$1MONTHS adiciona 12 meses a cada valor da coluna 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)
```

Os seguintes exemplos demonstram o comportamento quando a função ADD\$1MONTHS opera em datas com meses que têm diferentes número de dias. 

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

add_months
---------------------
2008-04-30 00:00:00
(1 row)

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

add_months
---------------------
2008-05-31 00:00:00
(1 row)
```