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

Jak SUBTIME() funguje v MariaDB

V MariaDB, SUBTIME() je vestavěná funkce data a času, která odečítá částku z výrazu času nebo data a času.

Umožňuje vám změnit výraz času nebo data a času předáním tohoto výrazu a také výraz času, který se od tohoto výrazu odečte. Pokud potřebujete přidat, můžete předat zápornou částku k časovému výrazu.

Syntaxe

Syntaxe vypadá takto:

SUBTIME(expr1,expr2)

Kde expr1 je výraz čas nebo datum a čas a expr2 je časový výraz.

Příklad

Zde je příklad:

SELECT SUBTIME('10:00:00', '02:30:45');

Výsledek:

+---------------------------------+
| SUBTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 07:29:15                        |
+---------------------------------+

Výrazy data a času

První argument může být také výraz datetime:

SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');

Výsledek:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-04-30 11:29:15                        |
+--------------------------------------------+

V tomto případě bylo odečteno dostatečné množství času k vytažení data zpět na předchozí den a měsíc.

Časové výrazy ve volnějším formátu

MariaDB umožňuje přiřazení časů ve volnějších formátech, jako je vypuštění úvodních nul a poskytnutí hodnoty pro den.

Proto můžeme udělat toto:

SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Výsledek:

+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2020-04-30 08:58:58.876544                         |
+----------------------------------------------------+

Záporné intervaly

Zadání záporného intervalu pro část dne přidá to odpovídá času/datu a času.

Příklad:

SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Výsledek:

+-----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2022-05-02 11:01:01.123456                          |
+-----------------------------------------------------+

Nulové argumenty

Pokud je některý argument null , výsledkem je null :

SELECT 
    SUBTIME('10:00:00', null),
    SUBTIME(null, '02:30:45'),
    SUBTIME(null, null);

Výsledek:

+---------------------------+---------------------------+---------------------+
| SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Chybí argument

Volání SUBTIME() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:

SELECT SUBTIME();

Výsledek:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBTIME'

  1. Jak propojit databázi s Amazon VPC

  2. SECOND() Příklad – MySQL

  3. Jak získat rozdíl dnů/měsíců/roků (datediff) mezi dvěma daty?

  4. SQLite EXISTUJE