PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Aggiungi mesi a una data in PostgreSQL

In PostgreSQL, possiamo usare il + operatore per aggiungere uno o più mesi a una data. Ci sono diverse opzioni quando si tratta di specificare il numero effettivo di mesi.

Esempi

Postgres ci consente di specificare gli intervalli durante l'aggiunta alle date. Possiamo quindi specificare month o months :

SELECT date '2030-01-20' + interval '1 month';

Risultato:

2030-02-20 00:00:00

E al plurale:

SELECT date '2030-01-20' + interval '6 months';

Risultato:

2030-07-20 00:00:00

Specificato in giorni

Possiamo anche utilizzare il numero equivalente in giorni (o settimane per quella materia):

SELECT date '2030-01-20' + interval '31 days';

Risultato:

2030-02-20 00:00:00

Ovviamente, se questo corrisponde o meno al numero esatto di mesi dipenderà dal numero effettivo di giorni o settimane specificati.

In alternativa possiamo usare un numero intero specificandolo in giorni:

SELECT date '2030-01-20' + 31;

Risultato:

2030-02-20

Possiamo anche farlo in questo modo:

SELECT date '2030-01-20' + integer '31';

Risultato:

2030-02-20

Valori negativi

Possiamo anche eseguire aritmetica della data con valori negativi. Se utilizziamo un valore negativo con + segno, quindi il numero di mesi specificato verrà sottratto dalla data. Ma se lo usiamo con - segno, quindi verrà aggiunto alla data.

Esempio:

SELECT date '2030-01-20' - interval '-6 months';

Risultato:

2030-07-20 00:00:00

Possiamo fare la stessa cosa con l'opzione intera:

SELECT date '2030-01-20' - integer '-181';

Risultato:

2030-07-20