MariaDB poskytuje několik způsobů, jak provádět aritmetiku na datech. To zahrnuje přičítání nebo odečítání dne (nebo mnoha dní) od daného data.
Zde je příklad odečtení dne od data v MariaDB.
SUBDATE()
Funkce
SUBDATE()
funkce umožňuje odečíst určitý počet dní od data.
Nejjednodušší způsob, jak to udělat, je zadat datum a za ním počet dní, které chcete odečíst.
Příklad:
SELECT SUBDATE('2021-05-21', 1);
Výsledek:
+--------------------------+| SUBDATE('2021-05-21', 1) |+--------------------------+| 2021-05-20 |+--------------------------+
Více dní
Pokud potřebujete odečíst více než jeden den, použijte toto číslo místo 1
.
SELECT SUBDATE('2021-05-01', 30);
Výsledek:
+---------------------------+| SUBDATE('2021-05-01', 30) |+---------------------------+| 2021-04-01 |+---------------------------+
V tomto případě jsme vrátili datum mínus 30 dní. Tím se také vrátilo datum na předchozí měsíc.
Podrobnější syntaxe
SUBDATE()
funkce má také podrobnější syntaxi, kde můžete zadat jednotku, která se má odečíst od data. Můžete například zadat dny, týdny, měsíce, roky atd.
SELECT SUBDATE('2021-05-01', INTERVAL 1 DAY);
Výsledek:
+---------------------------------------+| SUBDATE('2021-05-01', INTERVAL 1 DEN) |+----------------------------------- -----+| 2021-04-30 |+---------------------------------------+
Všimněte si, že při odečítání více dnů je DAY
klíčové slovo zůstává nemnožné:
SELECT SUBDATE('2021-05-01', INTERVAL 10 DAY);
Výsledek:
+----------------------------------------+| SUBDATE('2021-05-01', INTERVAL 10 DEN) |+----------------------------------- ------+| 2021-04-21 |+----------------------------------------+Operátor odečítání (
-
)Dalším způsobem, jak odečíst dny od data, je použít operátor odečítání (
-
), také známý jako operátor mínus.Příklad:
SELECT '2021-05-01' - INTERVAL 90 DAY;
Výsledek:
+--------------------------------+| '2021-05-01' - INTERVAL 90 DNÍ |+--------------------------------+| 2021-01-31 |+--------------------------------+Operátor přidání (
+
)Alternativně můžete použít operátor sčítání (
+
) spolu se zápornou částkou.Příklad:
SELECT '2021-05-01' + INTERVAL -90 DAY;
Výsledek:
+---------------------------------+| '2021-05-01' + INTERVAL -90 DEN |+---------------------------------+| 2021-01-31 |+---------------------------------+Další způsoby, jak odečíst dny od dat
Zde je několik dalších přístupů, které můžete použít k odečtení jednoho nebo více dnů od data:
DATE_SUB()
funkce (SUBDATE()
funkce použitá ve výše uvedeném příkladu je synonymem proDATE_SUB()
při použití se stejnou syntaxí).DATE_ADD()
funkce (zadáním záporné částky se tato částka odečte od data).ADDDATE()
funkce (zadáním záporné částky se tato částka odečte od data).