PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Ajouter des mois à une date dans PostgreSQL

Dans PostgreSQL, nous pouvons utiliser le + opérateur pour ajouter un ou plusieurs mois à une date. Il existe plusieurs options pour spécifier le nombre réel de mois.

Exemples

Postgres nous permet de spécifier des intervalles lors de l'ajout de dates. On peut donc préciser month ou month :

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

Résultat :

2030-02-20 00:00:00

Et au pluriel :

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

Résultat :

2030-07-20 00:00:00

Spécifié en jours

Nous pouvons également utiliser le nombre équivalent en jours (ou semaines d'ailleurs) :

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

Résultat :

2030-02-20 00:00:00

Évidemment, que cela corresponde ou non au nombre exact de mois dépendra du nombre réel de jours ou de semaines spécifié.

Nous pouvons également utiliser un nombre entier lorsque nous le spécifions en jours :

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

Résultat :

2030-02-20

Nous pouvons aussi le faire comme ceci :

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

Résultat :

2030-02-20

Valeurs négatives

Nous pouvons également effectuer une arithmétique de date avec des valeurs négatives. Si nous utilisons une valeur négative avec le + signe, le nombre de mois spécifié sera soustrait de la date. Mais si nous l'utilisons avec le - signer, puis il sera ajouté à la date.

Exemple :

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

Résultat :

2030-07-20 00:00:00

On peut faire la même chose avec l'option entier :

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

Résultat :

2030-07-20