W PostgreSQL możemy użyć +
operatora, aby dodać jeden lub więcej miesięcy do daty. Istnieje kilka opcji określania rzeczywistej liczby miesięcy.
Przykłady
Postgres pozwala nam określić interwały przy dodawaniu do dat. Możemy zatem określić month
lub months
:
SELECT date '2030-01-20' + interval '1 month';
Wynik:
2030-02-20 00:00:00
A w liczbie mnogiej:
SELECT date '2030-01-20' + interval '6 months';
Wynik:
2030-07-20 00:00:00
Określone w dniach
Możemy również użyć równoważnej liczby w dniach (lub tygodniach w tym przypadku):
SELECT date '2030-01-20' + interval '31 days';
Wynik:
2030-02-20 00:00:00
Oczywiście to, czy to odpowiada dokładnej liczbie miesięcy, będzie zależeć od rzeczywistej określonej liczby dni lub tygodni.
Możemy alternatywnie użyć liczby całkowitej, określając ją w dniach:
SELECT date '2030-01-20' + 31;
Wynik:
2030-02-20
Możemy to również zrobić w ten sposób:
SELECT date '2030-01-20' + integer '31';
Wynik:
2030-02-20
Wartości ujemne
Możemy również wykonywać arytmetykę dat z wartościami ujemnymi. Jeśli użyjemy wartości ujemnej z +
znak, to podana liczba miesięcy zostanie odjęta od daty. Ale jeśli użyjemy go z -
znak, a następnie zostanie dodany do daty.
Przykład:
SELECT date '2030-01-20' - interval '-6 months';
Wynik:
2030-07-20 00:00:00
Możemy zrobić to samo z opcją liczby całkowitej:
SELECT date '2030-01-20' - integer '-181';
Wynik:
2030-07-20