sql >> Databáze >  >> RDS >> Mysql

Příklady HOUR() – MySQL

MySQL HOUR() Funkce se používá k vrácení hodinové složky z časové hodnoty.

Vrácená hodnota pro hodnotu denní doby bude mezi 0 a 23, avšak rozsah vrácený touto funkcí může být mnohem větší, protože čas datový typ není omezen pouze na denní dobu (lze jej také použít k vyjádření uplynulého času nebo časového intervalu mezi dvěma událostmi). To znamená, že vrácená hodnota může být větší než 24 hodin nebo dokonce záporná.

Syntaxe

Syntaxe této funkce vypadá takto:

HOUR(time)

Kde time je časová hodnota, ze které chcete extrahovat hodinovou složku.

Příklad 1 – Základní použití

Zde je příklad k demonstraci.

SELECT HOUR('10:35:27');

Výsledek:

+------------------+
| HOUR('10:35:27') |
+------------------+
|               10 |
+------------------+

Příklad 2 – Více než 24 hodin

Jak bylo zmíněno, pokud je časová hodnota použita k reprezentaci uplynulého času nebo časového intervalu mezi dvěma událostmi, může mít hodinovou složku větší než 24 hodin. Následující příklad je tedy dokonale platný.

SELECT HOUR('310:35:27');

Výsledek:

+-------------------+
| HOUR('310:35:27') |
+-------------------+
|               310 |
+-------------------+

Příklad 3 – Záporné hodnoty

Záporné hodnoty jsou také dokonale platné pro čas datový typ. Pamatujte však, že HOUR() funkce jej vrátí jako kladnou hodnotu:

SELECT HOUR('-310:35:27');

Výsledek:

+--------------------+
| HOUR('-310:35:27') |
+--------------------+
|                310 |
+--------------------+

Pokud se jedná o problém a potřebujete, aby byly záporné hodnoty vráceny jako záporné hodnoty, EXTRACT() funkce může být to, co hledáte:

SELECT EXTRACT(HOUR FROM '-310:35:27');

Výsledek:

+---------------------------------+
| EXTRACT(HOUR FROM '-310:35:27') |
+---------------------------------+
|                            -310 |
+---------------------------------+


  1. nastavení globálního sql_mode v mysql

  2. Použití ODBC se Salesforce a Azure Active Directory (AD) Single Sign On (SSO)

  3. ORACLE - ORA-01843:neplatný měsíc

  4. MySQL kompenzuje nekonečné řádky