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

Odečtěte mikrosekundy od hodnoty Datetime v MariaDB

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 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. Oracle:jak přidat minuty k časovému razítku?

  2. Tři hlavní trendy ovlivňující DBA odpovědné za monitorování SQL Serveru

  3. Jak otestovat, zda je řetězec JSON nebo ne?

  4. Jak předám hodnotu parametru uložené procedury v komponentě Zdroj OLE DB?