В PostgreSQL можем да използваме +
оператор за добавяне на един или повече месеца към дата. Има няколко опции, когато става въпрос за определяне на действителния брой месеци.
Примери
Postgres ни позволява да посочим интервали при добавяне към дати. Следователно можем да посочим month
или months
:
SELECT date '2030-01-20' + interval '1 month';
Резултат:
2030-02-20 00:00:00
И в множествено число:
SELECT date '2030-01-20' + interval '6 months';
Резултат:
2030-07-20 00:00:00
Посочено в дни
Можем също да използваме еквивалентното число в дни (или седмици по този въпрос):
SELECT date '2030-01-20' + interval '31 days';
Резултат:
2030-02-20 00:00:00
Очевидно дали това съвпада с точния брой месеци или не ще зависи от действителния брой посочени дни или седмици.
Като алтернатива можем да използваме цяло число, когато го указваме в дни:
SELECT date '2030-01-20' + 31;
Резултат:
2030-02-20
Можем да го направим и така:
SELECT date '2030-01-20' + integer '31';
Резултат:
2030-02-20
Отрицателни стойности
Можем също да извършим аритметика за дата с отрицателни стойности. Ако използваме отрицателна стойност с +
знак, тогава посоченият брой месеци ще бъде изваден от датата. Но ако го използваме с -
знак, след което ще бъде добавен към датата.
Пример:
SELECT date '2030-01-20' - interval '-6 months';
Резултат:
2030-07-20 00:00:00
Можем да направим същото с опцията integer:
SELECT date '2030-01-20' - integer '-181';
Резултат:
2030-07-20