MariaDB poskytuje několik způsobů, jak přidat rok nebo určitý počet let k danému datu. Můžete například přidat 1 rok, 10 let, 30 let atd.
Zde je 6 způsobů, jak přidat rok 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 YEAR); Výsledek:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 ROK) |+----------------------------------- -------+| 2022-05-01 |+-----------------------------------------+
Žádné pravidlo neříká, že to může být pouze 1 rok. Můžete přidat více let. V každém případě YEAR klíčové slovo zůstává nemnožné:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);
Výsledek:
+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 LET) |+---------------------------------- --------+| 2031-05-01 |+------------------------------------------+
Je také možné použít jinou jednotku data/času s příslušným číslem této jednotky. Tento přístup by však měl být používán s opatrností, protože by mohl vést k neočekávaným výsledkům.
Příklad:
SELECT
DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;
Výsledek:
+------------+------------+------------+------- -----+| Dny | Týdny | Měsíce | Roky |+------------+------------+------------+--------- ----+| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |+------------+------------+------------+---- --------+
V tomto případě mělo přidání 52 týdnů jiný výsledek než použití 365 dnů, 12 měsíců a 1 roku.
Pokud posuneme datum o několik let dopředu, dostaneme ještě větší nekonzistenci:
SELECT
DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;
Výsledek:
+------------+------------+------------+------- -----+| Dny | Týdny | Měsíce | Roky |+------------+------------+------------+--------- ----+| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |+------------+------------+------------+---- --------+
Tentokrát pomocí MONTH a YEAR vrátí stejný výsledek, ale DAY a WEEK vrátí dvě různá data, z nichž obě se liší od MONTH a YEAR výsledky.
ADDDATE() Funkce
Dalším způsobem, jak přidat rok 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 u DATE_ADD() funkce výše. Při použití této syntaxe ADDDATE() je synonymem pro DATE_ADD() .
Příklad:
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);
Výsledek:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 ROK) |+----------------------------------- ------+| 2022-05-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 YEAR);
Výsledek:
+------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 ROK) |+---------------------------------- ---------+| 2022-05-01 |+------------------------------------------+ SUBDATE() Funkce
SUBDATE() funkce je synonymem pro DATE_SUB() při použití následující syntaxe.
Příklad:
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);
Výsledek:
+-----------------------------------------+| PODDATUM('2021-05-01', INTERVAL -1 ROK) |+---------------------------------- --------+| 2022-05-01 |+-----------------------------------------+
Znaménko + Operátor
Další 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 let k našemu datu.
Příklad:
SELECT '2021-05-01' + INTERVAL 1 YEAR;
Výsledek:
+--------------------------------+| '2021-05-01' + INTERVAL 1 ROK |+--------------------------------+| 2022-05-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 YEAR;
Výsledek:
+---------------------------------+| '2021-05-01' - INTERVAL -1 ROK |+---------------------------------+| 2022-05-01 |+---------------------------------+
Další jednotky data a času
Výše uvedené příklady přidávají k datu počet let, 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, naleznete v části Jednotky data a času MariaDB.