SQL Server ma swoją DATEADD()
funkcja, która dodaje interwał do wartości daty. DATE_ADD()
w MySQL i ADDDATE()
for robi to samo, podobnie jak funkcja DATE_ADD()
MariaDB i ADDDATE()
. SQLite ma funkcję DATE()
funkcja dająca również możliwość dodania interwału do podanej daty.
Ale PostgreSQL nie ma funkcji DATEADD()
lub równoważną funkcję.
Nie oznacza to jednak, że nie możemy dodawać dat w Postgresie. Możemy dodawać i odejmować wartości od dat za pomocą operatorów daty/czasu, takich jak +
i -
.
Przykłady
Dodaj pięć dni do daty:
SELECT date '2027-05-20' + integer '5';
Wynik:
2027-05-25
Odejmij pięć dni od daty, używając kwoty ujemnej:
SELECT date '2027-05-20' + integer '-5';
Wynik:
2027-05-15
Odejmij pięć dni od daty, używając znaku minus (-
):
SELECT date '2027-05-20' - integer '5';
Wynik:
2027-05-15
Dodaj pięć tygodni do daty określonej liczbą dni:
SELECT date '2027-05-20' + integer '35';
Wynik:
2027-06-24
Dodaj pięć tygodni do daty, używając interval
:
SELECT date '2027-05-20' + interval '5 week';
Wynik:
2027-06-24 00:00:00
Dodaj pięć miesięcy do daty, używając interval
:
SELECT date '2027-05-20' + interval '5 month';
Wynik:
2027-10-20 00:00:00
Dodaj pięć godzin do daty:
SELECT date '2027-05-20' + interval '5 hour';
Wynik:
2027-05-20 05:00:00
Dodaj pięć minut do daty:
SELECT date '2027-05-20' + interval '5 minute';
Wynik:
2027-05-20 00:05:00
Dodaj czas do daty:
SELECT date '2027-05-20' + time '05:45';
Wynik:
2027-05-20 05:45:00