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