Pokud potřebujete přidat jednu nebo více mikrosekund 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, mikrosekundy atd.
Příklad:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND);
Výsledek:
+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+
V tomto případě jsem k výrazu datetime přidal 35 mikrosekund. 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.
Můžete si také všimnout, že část mikrosekund nebyla v mé původní hodnotě data a času, ale byla přidána, jakmile jsem přidal mikrosekundy.
Podobně, co se stane, když poskytnu pouze datum:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND);
Výsledek:
+-------------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND) | +-------------------------------------------------+ | 2021-05-01 00:00:00.000035 | +-------------------------------------------------+
Časová část je připojena k výsledku a předpokládá se, že počáteční čas byl 00:00:00.000000
.
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' SECOND_MICROSECOND);
Výsledek:
+---------------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND) | +---------------------------------------------------------------------+ | 2021-05-01 10:00:01.300000 | +---------------------------------------------------------------------+
Ú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 několik dní, což zde neděláme.
- 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 MICROSECOND);
Výsledek:
+---------------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) | +---------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +---------------------------------------------------------+
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 MICROSECOND);
Výsledek:
+-----------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) | +-----------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-----------------------------------------------------------+
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 MICROSECOND);
Výsledek:
+----------------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) | +----------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +----------------------------------------------------------+
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 mikrosekund k našemu výrazu datetime.
Příklad:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND;
Výsledek:
+-------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-------------------------------------------------+
-
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 MICROSECOND;
Výsledek:
+--------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +--------------------------------------------------+
ADDTIME()
Funkce
Můžete použít ADDTIME()
funkce pro přidání počtu milsekund k výrazu datetime.
Příklad:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:00.123456');
Výsledek:
+---------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') | +---------------------------------------------------+ | 2021-05-01 10:00:00.123456 | +---------------------------------------------------+
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:00:00.123456');
Výsledek:
+----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456') | +----------------------------------------------------+ | 2021-05-01 10:00:00.123456 | +----------------------------------------------------+
Další jednotky data a času
Výše uvedené příklady přidávají k hodnotě datetime několik mikrosekund, ale můžeme použít stejné techniky 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.