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

Jak HOUR() funguje v MariaDB

V MariaDB HOUR() je vestavěná funkce data a času, která vrací hodinu z daného časového výrazu.

Přijímá jeden argument, což je čas, ze kterého chcete extrahovat hodinu.

Pro hodnoty denní doby vrátí hodinu jako číslo v rozsahu 0 do 23 . Nicméně rozsah TIME hodnoty mohou být mnohem větší, a proto může být vrácená hodnota mnohem vyšší než 23 .

Vrácená hodnota je vždy kladná, i když je zadán záporný čas.

Syntaxe

Syntaxe vypadá takto:

HOUR(time)

Kde time je časový výraz pro získání hodiny.

Příklad

Zde je příklad:

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

Výsledek:

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

Hodnoty data a času

Funguje také s hodnotami datetime:

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

Výsledek:

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

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 HOUR('578:30:45');

Výsledek:

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

Záporné časy

Negativní časy vrátí pozitivní výsledek.

Příklad

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

Výsledek:

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

Otevírací doba mimo rozsah

Časové hodnoty mimo rozsah '-838:59:59.999999' na '838:59:59.999999' vrátí 838 .

Příklad:

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

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

+-------------------+
| HOUR('978:30:45') |
+-------------------+
|               838 |
+-------------------+

Aktuální datum

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

SELECT 
    NOW(),
    HOUR(NOW());

Výsledek:

+---------------------+-------------+
| NOW()               | HOUR(NOW()) |
+---------------------+-------------+
| 2021-05-16 10:50:02 |          10 |
+---------------------+-------------+

Neplatné argumenty

Při předání neplatného argumentu HOUR() vrátí null :

SELECT HOUR('Ten Thirty AM');

Výsledek:

+-----------------------+
| HOUR('Ten Thirty AM') |
+-----------------------+
|                  NULL |
+-----------------------+

Chybí argument

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

SELECT HOUR();

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 HOUR('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. PostgreSQL Meltdown Benchmarks

  2. Metadata týkající se typů záznamů na úrovni balíčků PL/SQL

  3. Jak přidat sloupec automatického přírůstku do existující tabulky v MySQL

  4. Indexování a další:GIN indexy