MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak HOUR() działa w MariaDB

W MariaDB, HOUR() to wbudowana funkcja daty i czasu, która zwraca godzinę z podanego wyrażenia czasu.

Przyjmuje jeden argument, czyli czas, z którego chcesz wydobyć godzinę.

W przypadku wartości czasu dnia zwraca godzinę jako liczbę z zakresu 0 do 23 . Jednak zakres TIME wartości mogą być znacznie większe, a zatem zwracana wartość może być znacznie wyższa niż 23 .

Zwracana wartość jest zawsze dodatnia, nawet jeśli podano ujemny czas.

Składnia

Składnia wygląda tak:

HOUR(time)

Gdzie time jest wyrażeniem czasu, z którego można uzyskać godzinę.

Przykład

Oto przykład:

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

Wynik:

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

Wartości daty i godziny

Działa również z wartościami daty i godziny:

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

Wynik:

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

Większe godziny

TIME wartości mogą należeć do zakresu '-838:59:59.999999' do '838:59:59.999999' .

Dlatego część godzinowa może być znacznie wyższa niż 23 :

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

Wynik:

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

Czasy negatywne

Czasy ujemne zwracają wynik dodatni.

Przykład

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

Wynik:

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

Godziny poza zakresem

Wartości czasu poza zakresem '-838:59:59.999999' do '838:59:59.999999' zwróć 838 .

Przykład:

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

Wynik (przy użyciu wyjścia pionowego):

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

Aktualna data

Możemy przekazać NOW() jako argument datetime, aby użyć aktualnego czasu:

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

Wynik:

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

Nieprawidłowe argumenty

Po przekazaniu nieprawidłowego argumentu HOUR() zwraca null :

SELECT HOUR('Ten Thirty AM');

Wynik:

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

Brakujący argument

Wywołanie HOUR() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT HOUR();

Wynik:

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

I kolejny przykład:

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

Wynik:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Radzenie sobie z długimi zapytaniami MySQL

  2. MariaDB Connector/Python Beta już dostępne

  3. Jak zainstalować i zabezpieczyć MariaDB na Ubuntu?

  4. Nazwane polecenia MariaDB

  5. Objaśnienie operatora MariaDB UNION