MariaDB udostępnia kilka sposobów wykonywania arytmetyki na datach. Obejmuje to dodawanie lub odejmowanie miesiąca (lub wielu miesięcy) od podanej daty.
Oto przykład odejmowania miesiąca od daty w MariaDB.
DATE_SUB()
Funkcja
DATE_SUB()
funkcja pozwala odjąć określoną liczbę jednostek od daty. Dlatego możesz zwrócić datę, pomniejszoną o liczbę dni, tygodni, miesięcy, lat itp.
W naszym przypadku chcemy odjąć miesiąc.
Przykład:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 MONTH);
Wynik:
+------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 1 MONTH) | +------------------------------------------+ | 2021-04-01 | +------------------------------------------+
Wiele miesięcy
Jeśli potrzebujesz odjąć więcej niż jeden miesiąc, użyj tej liczby zamiast 1
. Jednak MONTH
słowo kluczowe pozostaje w liczbie różnej niezależnie od:
SELECT DATE_SUB('2021-05-01', INTERVAL 2 MONTH);
Wynik:
+------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 2 MONTH) | +------------------------------------------+ | 2021-03-01 | +------------------------------------------+
Operator odejmowania (-
)
Innym sposobem odejmowania miesiąca od daty jest użycie operatora odejmowania (-
), znany również jako operator minus.
Przykład:
SELECT '2021-05-01' - INTERVAL 1 MONTH;
Wynik:
+---------------------------------+ | '2021-05-01' - INTERVAL 1 MONTH | +---------------------------------+ | 2021-04-01 | +---------------------------------+
Operator dodawania (+
)
A jeśli wolisz być zawiły, możesz użyć operatora dodawania (+
) wraz z kwotą ujemną.
Przykład:
SELECT '2021-05-01' + INTERVAL -1 MONTH;
Wynik:
+----------------------------------+ | '2021-05-01' + INTERVAL -1 MONTH | +----------------------------------+ | 2021-04-01 | +----------------------------------+
Inne sposoby odejmowania miesięcy od dat
Oto kilka innych metod, których możesz użyć, aby odjąć jeden lub więcej miesięcy od daty:
SUBDATE()
funkcja (jest to synonimDATE_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).