

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione ADD\$1MONTHS
<a name="ADD_MONTHS"></a>

ADD\$1MONTHS aggiunge il numero di mesi specificato a un valore o espressione di data o timestamp. La funzione [DATE\$1ADD](DATE_ADD_function.md) fornisce una funzionalità simile. 

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

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

## Arguments (Argomenti)
<a name="ADD_MONTHS-arguments"></a>

 *date* \$1 *timestamp*   
Un'espressione o una colonna data o timestamp che viene implicitamente convertita in una data o un timestamp. Se la data è l'ultimo giorno del mese o se il mese risultante è più corto, la funzione restituisce l'ultimo giorno del mese nel risultato. Per le altre date, il risultato contiene lo stesso numero di giorni dell'espressione di data. 

 *integer*   
Un integer positivo o negativo. Utilizza un numero negativo per sottrarre mesi dalle date. 

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

TIMESTAMP

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

La query seguente utilizza la funzione ADD\$1MONTHS in una funzione TRUNC. La funzione TRUNC rimuove l'ora del giorno dal risultato di ADD\$1MONTHS. La funzione ADD\$1MONTHS aggiunge 12 mesi a ogni valore della colonna 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)
```

Gli esempi seguenti illustrano il comportamento quando la funzione ADD\$1MONTHS opera su date con mesi che hanno un numero di giorni differente. 

```
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)
```