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