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