MariaDB poskytuje mnoho způsobů, jak provádět aritmetiku data. To zahrnuje přičtení nebo odečtení určitého počtu dané části data od hodnoty data nebo data a času.
V tomto článku uvádím 8 způsobů, jak přidat jednu nebo více minut k hodnotě datetime v MariaDB.
DATE_ADD() Funkce
DATE_ADD() Funkce umožňuje přidat částku k výrazu datum nebo datum a čas. To zahrnuje přidávání časových částí, jako jsou minuty.
Příklad:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Výsledek:
+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00 |
+-----------------------------------------------------+
V tomto případě jsem k výrazu datetime přidal 35 minut. Všimněte si, že MINUTE klíčové slovo zůstává nemnožné bez ohledu na to, zda přidávám jednu minutu nebo více.
Pokud poskytnu pouze datum, stane se toto:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE); Výsledek:
+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) |
+--------------------------------------------+
| 2021-05-01 00:35:00 |
+--------------------------------------------+
Časová část je připojena k výsledku a předpokládá se, že počáteční čas byl 00:00:00 .
Při přidávání 60 minut můžeme použít HOUR klíčové slovo, pokud dáváme přednost:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR); Výsledek:
+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00 |
+--------------------------------------------------+ Je zřejmé, že tato technika funguje se 120 minutami, 180 a tak dále. Stačí použít příslušný počet hodin.
K přidání více jednotek můžete také použít složenou jednotku data a času. Pokud byste například chtěli přidat 1 hodinu a 30 minut, můžete to udělat takto:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE); Výsledek:
+--------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |
+--------------------------------------------------------------+
| 2021-05-01 11:30:00 |
+--------------------------------------------------------------+ Úplný seznam jednotek data a času naleznete v části Jednotky data a času MariaDB.
ADDDATE() Funkce
Dalším způsobem, jak přidat minuty do výrazu datetime, je použít ADDDATE() funkce. Tato funkce má dvě syntaxe:
- Jedna syntaxe vám umožňuje přidat k datu několik dní, což zde neděláme (pokud neplánujeme přidávat minuty v blocích po 1 440, což je počet minut za den).
- Další syntaxe je stejná jako u
DATE_ADD()funkce výše. Při použití této syntaxeADDDATE()je synonymem proDATE_ADD().
Příklad:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Výsledek:
+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:35:00 |
+----------------------------------------------------+ DATE_SUB() Funkce
DATE_SUB() funkce umožňuje odečíst částka k výrazu datum/datum a čas. Pokud však zadáte zápornou hodnotu k odečtení, skončí to tak, že bude přičteno na datum/čas.
Příklad:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE); Výsledek:
+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+------------------------------------------------------+
| 2021-05-01 10:35:00 |
+------------------------------------------------------+ SUBDATE() Funkce
SUBDATE() funkce je synonymem pro DATE_SUB() při použití následující syntaxe.
Příklad:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE); Výsledek:
+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00 |
+-----------------------------------------------------+ 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 minut k našemu datu.
Příklad:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE; Výsledek:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MINUTE | +--------------------------------------------+ | 2021-05-01 10:35:00 | +--------------------------------------------+
- 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 10:00:00' - INTERVAL -35 MINUTE; Výsledek:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MINUTE | +---------------------------------------------+ | 2021-05-01 10:35:00 | +---------------------------------------------+
ADDTIME() Funkce
Můžete použít ADDTIME() funkce pro přidání počtu minut k výrazu datetime.
Příklad:
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00'); Výsledek:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 10:30:00 |
+--------------------------------------------+ Jednou z výhod této funkce je, že můžete změnit i jiné časové jednotky, jako jsou hodiny, sekundy atd.
SUBTIME() Funkce
Alternativně to můžete přepnout a použít SUBTIME() se zápornou hodnotou, pokud si to přejete:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00'); Výsledek:
+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-05-01 10:30:00 |
+---------------------------------------------+ Další jednotky data a času
Výše uvedené příklady přidávají k hodnotě datetime počet minut, 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átory, najdete v části MariaDB Date and Time Units.