sql >> Databáze >  >> RDS >> MariaDB

Odečtěte sekundy od hodnoty Datetime v MariaDB

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 pro DATE_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).

  1. Převeďte minuty do formátu HH24:MI

  2. Co je MEZI logickým operátorem v SQL Server - SQL Server / Výukový program TSQL, část 124

  3. Stránkování MySQL bez dvojitého dotazování?

  4. Pár malých problémů se vzorky Hekaton