MariaDB poskytuje několik způsobů, jak provádět aritmetiku na datech. To zahrnuje přičítání nebo odečítání měsíce (nebo mnoha měsíců) od daného data.
Zde je 6 způsobů, jak přidat měsíc k datu v MariaDB.
Aktualizace bonusu :Nyní jsem přidal 7. způsob, jak přidat měsíc k datu na konec tohoto článku. Takže myslím, že teď je 7 způsobů, jak přidat měsíc k datu v MariaDB 🙂
DATE_ADD()
Funkce
DATE_ADD()
funkce umožňuje přidat částku k datu. Můžete například přidat počet dní, týdnů, měsíců, let atd.
Příklad:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 MONTH);
Výsledek:
+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 MĚSÍC) |+----------------------------------- --------+| 2021-06-01 |+------------------------------------------+
Pokud potřebujete přidat více než jeden měsíc, použijte toto číslo místo 1
. Nicméně MONTH
klíčové slovo zůstává bez množného čísla bez ohledu na:
SELECT DATE_ADD('2021-05-01', INTERVAL 2 MONTH);
Výsledek:
+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 2 MĚSÍCE) |+----------------------------------- --------+| 2021-07-01 |+------------------------------------------+
Je také možné použít jinou jednotku data/času s příslušným číslem této jednotky. Proto můžete zadat určitý počet dní, například 30 nebo 31.
Příklad:
SELECT DATE_ADD('2021-05-01', INTERVAL 31 DAY);
Výsledek:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 31 DEN) |+----------------------------------- -------+| 2021-06-01 |+-----------------------------------------+Při použití dnů, zda to vyjde přesně na měsíc nebo ne, bude záviset na daném měsíci. Ve výše uvedeném příkladu jsem mohl poskytnout 30 dní, ale to by nám zůstalo ve stejném měsíci:
SELECT DATE_ADD('2021-05-01', INTERVAL 30 DAY);
Výsledek:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 30 DEN) |+----------------------------------- -------+| 2021-05-31 |+-----------------------------------------+Pokud tedy skutečně chcete přidat měsíc, pak
MONTH
jednotka je mnohem snazší, než se snažit zjistit, kolik dní přidat.
ADDDATE()
FunkceDalším způsobem, jak přidat měsíc k datu, je použít
ADDDATE()
funkce. Tato funkce má dvě syntaxe. Jedna syntaxe umožňuje přidat k datu počet dní. Další syntaxe je stejná jako uDATE_ADD()
funkce výše. Při použití této syntaxeADDDATE()
je synonymem proDATE_ADD()
.Příklad:
SELECT ADDDATE('2021-05-01', INTERVAL 1 MONTH);
Výsledek:
+-----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 MĚSÍC) |+----------------------------------- -------+| 2021-06-01 |+-----------------------------------------+
DATE_SUB()
Funkce
DATE_SUB()
funkce umožňuje odečíst částku k datu. Pokud však zadáte zápornou hodnotu k odečtení, skončí to tak, že bude přičteno k datu.Příklad:
SELECT DATE_SUB('2021-05-01', INTERVAL -1 MONTH);
Výsledek:
+-------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 MĚSÍC) |+---------------------------------- ----------+| 2021-06-01 |+-------------------------------------------- +
SUBDATE()
Funkce
SUBDATE()
funkce je synonymem proDATE_SUB()
při použití následující syntaxe.Příklad:
SELECT SUBDATE('2021-05-01', INTERVAL -1 MONTH);
Výsledek:
+------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -1 MĚSÍC) |+---------------------------------- ---------+| 2021-06-01 |+------------------------------------------+Znaménko
+
OperátorDalší možností je použít
+
operátor.
+
operátor se používá k provádění sčítání a můžeme jej použít pro data spolu s příslušnou jednotkou data/času k přidání určitého počtu měsíců k našemu datu.Příklad:
SELECT '2021-05-01' + INTERVAL 1 MONTH;
Výsledek:
+---------------------------------+| '2021-05-01' + INTERVAL 1 MĚSÍC |+---------------------------------+| 2021-06-01 |+---------------------------------+
-
Operátor
-
operátor lze použít k odečtení částky od data. Ale pokud se používá k odečtení záporného čísla, výsledkem je kladná částka přidaná k datu:SELECT '2021-05-01' - INTERVAL -1 MONTH;
Výsledek:
+----------------------------------+| '2021-05-01' - INTERVAL -1 MĚSÍC |+----------------------------------+| 2021-06-01 |+----------------------------------+Bonus:
ADD_MONTHS()
FunkceOd doby, kdy jsem poprvé napsal tento článek, byla do MariaDB zavedena nová funkce speciálně pro přidávání měsíců k datu.
Funkce se nazývá
ADD_MONTHS()
a byl představen v MariaDB 10.6.1 pro zvýšení kompatibility Oracle.Myslím, že by se tento článek měl jmenovat 7 způsobů, jak přidat měsíc k datu… 🙂
Příklad:
SELECT ADD_MONTHS('2020-01-01', 3);
Výsledek:
+-----------------------------+| ADD_MONTHS('2020-01-01', 3) |+-----------------------------+| 2020-04-01 |+-----------------------------+Další jednotky data a času
Výše uvedené příklady přidávají k datu počet měsíců, ale stejné techniky můžeme použít k přidání libovolné jednotky data/času. Úplný seznam jednotek data a času, které lze použít s výše uvedenými funkcemi a operátorem, najdete v části MariaDB Datum a čas.