MariaDB udostępnia kilka sposobów wykonywania arytmetyki na datach. Obejmuje to dodawanie lub odejmowanie dnia (lub wielu dni) od podanej daty.
Oto przykład odejmowania dnia od daty w MariaDB.
SUBDATE() Funkcja
SUBDATE() funkcja pozwala odjąć określoną liczbę dni od daty.
Najprostszym sposobem, aby to zrobić, jest podanie daty, a następnie liczby dni, które chcesz odjąć.
Przykład:
SELECT SUBDATE('2021-05-21', 1); Wynik:
+--------------------------+
| SUBDATE('2021-05-21', 1) |
+--------------------------+
| 2021-05-20 |
+--------------------------+ Wiele dni
Jeśli chcesz odjąć więcej niż jeden dzień, użyj tej liczby zamiast 1 .
SELECT SUBDATE('2021-05-01', 30); Wynik:
+---------------------------+
| SUBDATE('2021-05-01', 30) |
+---------------------------+
| 2021-04-01 |
+---------------------------+ W tym przypadku zwróciliśmy termin minus 30 dni. Dzięki temu data cofnęła się do poprzedniego miesiąca.
Bardziej szczegółowa składnia
SUBDATE() Funkcja ma również bardziej szczegółową składnię, w której można określić jednostkę, którą należy odjąć od daty. Na przykład możesz określić dni, tygodnie, miesiące, lata itp.
SELECT SUBDATE('2021-05-01', INTERVAL 1 DAY); Wynik:
+---------------------------------------+
| SUBDATE('2021-05-01', INTERVAL 1 DAY) |
+---------------------------------------+
| 2021-04-30 |
+---------------------------------------+
Pamiętaj, że odejmując wiele dni, DAY słowo kluczowe nie jest liczbą mnogą:
SELECT SUBDATE('2021-05-01', INTERVAL 10 DAY); Wynik:
+----------------------------------------+
| SUBDATE('2021-05-01', INTERVAL 10 DAY) |
+----------------------------------------+
| 2021-04-21 |
+----------------------------------------+ Operator odejmowania (- )
Innym sposobem odejmowania dni od daty jest użycie operatora odejmowania (- ), znany również jako operator minus.
Przykład:
SELECT '2021-05-01' - INTERVAL 90 DAY; Wynik:
+--------------------------------+ | '2021-05-01' - INTERVAL 90 DAY | +--------------------------------+ | 2021-01-31 | +--------------------------------+
Operator dodawania (+ )
Możesz alternatywnie użyć operatora dodawania (+ ) wraz z kwotą ujemną.
Przykład:
SELECT '2021-05-01' + INTERVAL -90 DAY; Wynik:
+---------------------------------+ | '2021-05-01' + INTERVAL -90 DAY | +---------------------------------+ | 2021-01-31 | +---------------------------------+
Inne sposoby odejmowania dni od dat
Oto kilka innych metod, których możesz użyć, aby odjąć jeden lub więcej dni od daty:
DATE_SUB()funkcja (SUBDATE()funkcja użyta w powyższym przykładzie jest synonimemDATE_SUB()gdy jest używany z tą samą składnią).DATE_ADD()funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od daty).ADDDATE()funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od daty).