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

Jak TIME() funguje v MariaDB

V MariaDB, TIME() je vestavěná funkce data a času, která extrahuje část času z daného času nebo výrazu datetime a vrátí ji jako řetězec.

Přijímá jeden argument, kterým je čas nebo datum a čas, pro který chcete extrahovat čas.

Syntaxe

Syntaxe vypadá takto:

TIME(expr)

Kde expr je výraz času nebo data a času, pro který se má extrahovat čas.

Příklad

Zde je příklad k demonstraci:

SELECT TIME('2030-02-01 10:30:45');

Výsledek:

+-----------------------------+
| TIME('2030-02-01 10:30:45') |
+-----------------------------+
| 10:30:45                    |
+-----------------------------+

Časové hodnoty

Zde je příklad, který extrahuje čas z časové hodnoty:

SELECT TIME('10:30:45');

Výsledek:

+------------------+
| TIME('10:30:45') |
+------------------+
| 10:30:45         |
+------------------+

Mikrosekundy

Zde je příklad, který zahrnuje mikrosekundy:

SELECT TIME('2030-02-01 10:30:45.123456');

Výsledek:

+------------------------------------+
| TIME('2030-02-01 10:30:45.123456') |
+------------------------------------+
| 10:30:45.123456                    |
+------------------------------------+

Větší hodiny

TIME hodnoty mohou být v rozsahu '-838:59:59.999999' na '838:59:59.999999' .

Hodinová část proto může být mnohem vyšší než 23 :

SELECT TIME('578:30:45');

Výsledek:

+-------------------+
| TIME('578:30:45') |
+-------------------+
| 578:30:45         |
+-------------------+

Záporné časy

Záporné časy jsou platné:

Příklad

SELECT TIME('-578:30:45');

Výsledek:

+--------------------+
| TIME('-578:30:45') |
+--------------------+
| -578:30:45         |
+--------------------+

Otevírací doba mimo rozsah

Časové hodnoty mimo rozsah '-838:59:59.999999' na '838:59:59.999999' jsou ohraničeny na příslušné hranici a obsahují varování.

Příklad:

SELECT TIME('978:30:45');

Výsledek (při použití vertikálního výstupu):

+-------------------+
| TIME('978:30:45') |
+-------------------+
| 838:59:59         |
+-------------------+
1 row in set, 1 warning (0.003 sec)

Podívejme se na varování:

SHOW WARNINGS;

Výsledek (při použití vertikálního výstupu):

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '978:30:45' |
+---------+------+---------------------------------------------+

Aktuální datum

Můžeme předat NOW() jako argument datetime pro použití aktuálního času:

SELECT 
    NOW(),
    TIME(NOW());

Výsledek:

+---------------------+-------------+
| NOW()               | TIME(NOW()) |
+---------------------+-------------+
| 2021-05-27 10:24:23 | 10:24:23    |
+---------------------+-------------+

Neplatné argumenty

Při předání neplatného argumentu TIME() vrátí null s varováním:

SELECT TIME('Ten Thirty AM');

Výsledek:

+-----------------------+
| TIME('Ten Thirty AM') |
+-----------------------+
| NULL                  |
+-----------------------+
1 row in set, 1 warning (0.002 sec)

Zkontrolujte varování:

SHOW WARNINGS;

Výsledek:

+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Incorrect time value: 'Ten Thirty AM' |
+---------+------+---------------------------------------+

Chybí argument

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

SELECT TIME();

Výsledek:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

A další příklad:

SELECT TIME('10:30:45', '06:30:45');

Výsledek:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1

  1. Export a import všech databází MySQL najednou

  2. Rozlišují názvy tabulek v MySQL velká a malá písmena?

  3. INSERT pomocí SELECT

  4. Datetime stejný nebo větší než dnes v MySQL