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
aYEAR
vrátí stejný výsledek, aleDAY
aWEEK
vrátí dvě různá data, z nichž obě se liší odMONTH
aYEAR
výsledky.
ADDDATE()
FunkceDalší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 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 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 proDATE_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á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 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.