Zde je několik možností pro odečtení jedné nebo více sekund 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:30'); Výsledek:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 09:59:30 |
+--------------------------------------------+ Můžete také změnit další časové jednotky, jako jsou hodiny, minuty 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 sekund.
Příklad:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND); Výsledek:
+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 09:59:30 |
+-----------------------------------------------------+
Všimněte si, že SECOND klíčové slovo zůstává nemnožné bez ohledu na to, zda odečítáte jednu sekundu nebo více.
Můžete také použít složené jednotky data a času. Můžete například dělat minuty a sekundy najednou.
Příklad:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND); Výsledek:
+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30 |
+-----------------------------------------------------------------+ Předávání jen data
Pokud poskytneme pouze hodnotu data, stane se toto:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND); Výsledek:
+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 SECOND) |
+--------------------------------------------+
| 2021-04-30 23:59:30 |
+--------------------------------------------+
Předpokládá, že čas začíná v 00:00:00, takže SECOND částka se od toho odečte.
Operátor odečítání (- )
Dalším způsobem, jak odečíst jednu nebo více sekund od hodnoty datetime, je použití operátoru odčítání (- ), také známý jako operátor mínus.
Příklad:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 SECOND; Výsledek:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 SECOND | +--------------------------------------------+ | 2021-05-01 09:59:30 | +--------------------------------------------+
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 SECOND; Výsledek:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 SECOND | +---------------------------------------------+ | 2021-05-01 09:59:30 | +---------------------------------------------+
Další způsoby odečítání sekund
Zde je několik dalších přístupů, které můžete použít k odečtení jedné nebo více sekund 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).