MariaDB udostępnia kilka sposobów wykonywania arytmetyki na datach. Obejmuje to dodawanie lub odejmowanie roku (lub wielu lat) od podanej daty.
Oto przykład odejmowania roku 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ąć rok.
Przykład:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 YEAR);
Wynik:
+-----------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 1 YEAR) | +-----------------------------------------+ | 2020-05-01 | +-----------------------------------------+
Wiele lat
Jeśli chcesz odjąć więcej niż jeden rok, użyj tej liczby zamiast 1
. Jednak YEAR
słowo kluczowe pozostaje w liczbie różnej niezależnie od:
SELECT DATE_SUB('2021-05-01', INTERVAL 2 YEAR);
Wynik:
+-----------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 2 YEAR) | +-----------------------------------------+ | 2019-05-01 | +-----------------------------------------+
Operator odejmowania (-
)
Innym sposobem odejmowania roku od daty jest użycie operatora odejmowania (-
), znany również jako operator minus.
Przykład:
SELECT '2021-05-01' - INTERVAL 1 YEAR;
Wynik:
+--------------------------------+ | '2021-05-01' - INTERVAL 1 YEAR | +--------------------------------+ | 2020-05-01 | +--------------------------------+
Operator dodawania (+
)
Możesz alternatywnie użyć operatora dodawania (+
) wraz z kwotą ujemną.
Przykład:
SELECT '2021-05-01' + INTERVAL -1 YEAR;
Wynik:
+---------------------------------+ | '2021-05-01' + INTERVAL -1 YEAR | +---------------------------------+ | 2020-05-01 | +---------------------------------+
Inne sposoby odejmowania lat od dat
Oto kilka innych podejść, których możesz użyć, aby odjąć jeden lub więcej lat 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).