Zde je několik možností pro odečtení jedné nebo více mikrosekund od výrazu datetime v MariaDB.
SUBTIME()
Funkce
SUBTIME()
odečte dané množství času od hodnoty času nebo data a času.
Příklad:
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 09:59:59.876544 | +---------------------------------------------------+
Můžete také změnit další časové jednotky, jako jsou hodiny, minuty, sekundy atd.
DATE_SUB()
Funkce
DATE_SUB()
Funkce umožňuje odečíst určitý počet jednotek data/času od výrazu data nebo data a času. Proto můžeme tuto funkci použít k vrácení hodnoty datetime mínus určitý počet mikrosekund.
Příklad:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);
Výsledek:
+-----------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) | +-----------------------------------------------------------+ | 2021-05-01 09:59:59.999700 | +-----------------------------------------------------------+
Všimněte si, že MICROSECOND
klíčové slovo zůstane nemnožné bez ohledu na to, zda odečtete jednu mikrosekundu nebo více.
Předávání jen data
Pokud poskytneme pouze hodnotu data, stane se toto:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);
Výsledek:
+------------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) | +------------------------------------------------+ | 2021-04-30 23:59:59.999997 | +------------------------------------------------+
Předpokládá, že čas začíná v 00:00:00, takže MICROSECOND
částka se od toho odečte.
Operátor odečítání (-
)
Dalším způsobem, jak odečíst jednu nebo více mikrosekund od hodnoty datetime, je použít operátor odečítání (-
), také známý jako operátor mínus.
Příklad:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND;
Výsledek:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
Operátor přidání (+
)
Alternativně můžete použít operátor sčítání (+
) spolu se zápornou částkou.
Příklad:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND;
Výsledek:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Další způsoby odečítání mikrosekund
Zde je několik dalších přístupů, které můžete použít k odečtení jedné nebo více mikrosekund od hodnoty datetime:
SUBTIME()
funkce.ADDTIME()
funkce (zadáním záporné částky se tato částka odečte od hodnoty datetime).SUBDATE()
funkce (toto je synonymum proDATE_SUB()
při použití se stejnou syntaxí).DATE_ADD()
funkce (zadáním záporné částky se tato částka odečte od hodnoty datetime).ADDDATE()
funkce (zadáním záporné částky se tato částka odečte od hodnoty datetime).