In MariaDB, HOUR()
ist eine integrierte Datums- und Zeitfunktion, die die Stunde aus einem gegebenen Zeitausdruck zurückgibt.
Es akzeptiert ein Argument, nämlich die Zeit, aus der Sie die Stunde extrahieren möchten.
Für Tageszeitwerte gibt es die Stunde als Zahl im Bereich 0
zurück bis 23
. Allerdings ist der Bereich von TIME
Werte können viel größer sein, und daher kann der zurückgegebene Wert viel höher als 23
sein .
Der Rückgabewert ist immer positiv, auch wenn eine negative Zeit angegeben wird.
Syntax
Die Syntax lautet wie folgt:
HOUR(time)
Wo time
ist der Zeitausdruck, aus dem die Stunde abgerufen werden soll.
Beispiel
Hier ist ein Beispiel:
SELECT HOUR('10:30:45');
Ergebnis:
+------------------+ | HOUR('10:30:45') | +------------------+ | 10 | +------------------+
Datum/Uhrzeit-Werte
Es funktioniert auch mit datetime-Werten:
SELECT HOUR('2030-02-01 10:30:45');
Ergebnis:
+-----------------------------+ | HOUR('2030-02-01 10:30:45') | +-----------------------------+ | 10 | +-----------------------------+
Größere Öffnungszeiten
TIME
Werte können im Bereich '-838:59:59.999999'
liegen zu '838:59:59.999999'
.
Daher kann der Stundenanteil viel höher als 23
sein :
SELECT HOUR('578:30:45');
Ergebnis:
+-------------------+ | HOUR('578:30:45') | +-------------------+ | 578 | +-------------------+
Negative Zeiten
Negative Zeiten geben ein positives Ergebnis zurück.
Beispiel
SELECT HOUR('-578:30:45');
Ergebnis:
+--------------------+ | HOUR('-578:30:45') | +--------------------+ | 578 | +--------------------+
Außerhalb des Bereichs Stunden
Zeitwerte außerhalb des Bereichs '-838:59:59.999999'
zu '838:59:59.999999'
gibt 838
zurück .
Beispiel:
SELECT HOUR('978:30:45');
Ergebnis (bei vertikaler Ausgabe):
+-------------------+ | HOUR('978:30:45') | +-------------------+ | 838 | +-------------------+
Aktuelles Datum
Wir können NOW()
übergeben als datetime-Argument, um die aktuelle Uhrzeit zu verwenden:
SELECT
NOW(),
HOUR(NOW());
Ergebnis:
+---------------------+-------------+ | NOW() | HOUR(NOW()) | +---------------------+-------------+ | 2021-05-16 10:50:02 | 10 | +---------------------+-------------+
Ungültige Argumente
Wenn ein ungültiges Argument übergeben wird, HOUR()
gibt null
zurück :
SELECT HOUR('Ten Thirty AM');
Ergebnis:
+-----------------------+ | HOUR('Ten Thirty AM') | +-----------------------+ | NULL | +-----------------------+
Fehlendes Argument
Aufruf von HOUR()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT HOUR();
Ergebnis:
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
Und noch ein Beispiel:
SELECT HOUR('10:30:45', '06:30:45');
Ergebnis:
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