Pokud potřebujete přidat jednu nebo více sekund k hodnotě datetime v MariaDB, zde je 8 možností, které je třeba zvážit.
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 hodiny, minuty, sekundy atd.
Příklad:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);
Výsledek:
+-----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) | +-----------------------------------------------------+ | 2021-05-01 10:00:35 | +-----------------------------------------------------+
V tomto případě jsem k výrazu datetime přidal 35 sekund. Všimněte si, že SECOND
klíčové slovo zůstává nemnožné bez ohledu na to, zda přidávám jednu sekundu nebo více.
Pokud poskytnu pouze datum, stane se toto:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);
Výsledek:
+--------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 SECOND) | +--------------------------------------------+ | 2021-05-01 00:00:35 | +--------------------------------------------+
Č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 sekund můžeme alternativně použít MINUTE
klíčové slovo, pokud dáváme přednost:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);
Výsledek:
+----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) | +----------------------------------------------------+ | 2021-05-01 10:01:00 | +----------------------------------------------------+
Tato technika samozřejmě funguje se 120 sekundami, 180 a tak dále. Stačí použít příslušný počet minut.
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 minutu a 30 sekund, můžete to udělat takto:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND);
Výsledek:
+----------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) | +----------------------------------------------------------------+ | 2021-05-01 10:01:30 | +----------------------------------------------------------------+
Úplný seznam jednotek data a času naleznete v části Jednotky data a času MariaDB.
ADDDATE()
Funkce
Dalším způsobem, jak přidat sekundy do výrazu datetime, je použít ADDDATE()
funkce. Tato funkce má dvě syntaxe:
- Jedna syntaxe vám umožňuje přidat k datu počet dní, což zde neděláme (pokud neplánujeme přidat sekundy v blocích po 86 400, což je počet sekund 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 SECOND);
Výsledek:
+----------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) | +----------------------------------------------------+ | 2021-05-01 10:00:35 | +----------------------------------------------------+
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 SECOND);
Výsledek:
+------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) | +------------------------------------------------------+ | 2021-05-01 10:00:35 | +------------------------------------------------------+
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 SECOND);
Výsledek:
+-----------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) | +-----------------------------------------------------+ | 2021-05-01 10:00:35 | +-----------------------------------------------------+
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 sekund k našemu výrazu datetime.
Příklad:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;
Výsledek:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 SECOND | +--------------------------------------------+ | 2021-05-01 10:00:35 | +--------------------------------------------+
-
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 výrazu datetime:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;
Výsledek:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 SECOND | +---------------------------------------------+ | 2021-05-01 10:00:35 | +---------------------------------------------+
ADDTIME()
Funkce
Můžete použít ADDTIME()
funkce pro přidání počtu sekund k výrazu datetime.
Příklad:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30');
Výsledek:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:00:30') | +--------------------------------------------+ | 2021-05-01 10:00:30 | +--------------------------------------------+
Jednou z výhod této funkce je, že můžete změnit i jiné časové jednotky, jako jsou hodiny, minuty 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:00:30');
Výsledek:
+---------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:00:30') | +---------------------------------------------+ | 2021-05-01 10:00:30 | +---------------------------------------------+
Další jednotky data a času
Výše uvedené příklady přidávají k hodnotě datetime počet sekund, 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.