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).