PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Hinzufügen von Monaten zu einem Datum in PostgreSQL

In PostgreSQL können wir den + verwenden Operator, um einem Datum einen oder mehrere Monate hinzuzufügen. Es gibt mehrere Möglichkeiten, die tatsächliche Anzahl der Monate anzugeben.

Beispiele

Postgres ermöglicht es uns, beim Hinzufügen von Daten Intervalle anzugeben. Wir können daher month angeben oder months :

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

Ergebnis:

2030-02-20 00:00:00

Und im Plural:

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

Ergebnis:

2030-07-20 00:00:00

Angegeben in Tagen

Wir können auch die entsprechende Zahl in Tagen (oder Wochen) verwenden:

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

Ergebnis:

2030-02-20 00:00:00

Ob dies mit der genauen Anzahl der Monate übereinstimmt, hängt natürlich von der tatsächlichen Anzahl der angegebenen Tage oder Wochen ab.

Wir können alternativ eine Ganzzahl verwenden, wenn wir sie in Tagen angeben:

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

Ergebnis:

2030-02-20

Wir können es auch so machen:

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

Ergebnis:

2030-02-20

Negative Werte

Wir können Datumsarithmetik auch mit negativen Werten durchführen. Wenn wir einen negativen Wert mit + verwenden Vorzeichen, dann wird die angegebene Anzahl von Monaten vom Datum abgezogen. Aber wenn wir es mit dem - verwenden unterschreiben, dann wird es zum Datum hinzugefügt.

Beispiel:

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

Ergebnis:

2030-07-20 00:00:00

Wir können dasselbe mit der Integer-Option machen:

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

Ergebnis:

2030-07-20