Die MySQL-HOUR()
Die Funktion wird verwendet, um die Stundenkomponente aus einem Zeitwert zurückzugeben.
Der Rückgabewert für einen Tageszeitwert liegt zwischen 0 und 23, der von dieser Funktion zurückgegebene Bereich könnte jedoch viel größer sein, da eine time Der Datentyp ist nicht nur auf eine Tageszeit beschränkt (er kann auch verwendet werden, um die verstrichene Zeit oder ein Zeitintervall zwischen zwei Ereignissen darzustellen). Das bedeutet, dass der zurückgegebene Wert größer als 24 Stunden oder sogar ein negativer Wert sein kann.
Syntax
Die Syntax dieser Funktion sieht folgendermaßen aus:
HOUR(time)
Wo time
ist der Zeitwert, aus dem Sie die Stundenkomponente extrahieren möchten.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel zur Veranschaulichung.
SELECT HOUR('10:35:27');
Ergebnis:
+------------------+ | HOUR('10:35:27') | +------------------+ | 10 | +------------------+
Beispiel 2 – Länger als 24 Stunden
Wenn der Zeitwert wie erwähnt verwendet wird, um die verstrichene Zeit oder ein Zeitintervall zwischen zwei Ereignissen darzustellen, könnte er eine Stundenkomponente haben, die größer als 24 Stunden ist. Das folgende Beispiel ist also vollkommen gültig.
SELECT HOUR('310:35:27');
Ergebnis:
+-------------------+ | HOUR('310:35:27') | +-------------------+ | 310 | +-------------------+
Beispiel 3 – Negative Werte
Auch negative Werte sind für die Zeit durchaus gültig Datentyp. Beachten Sie jedoch, dass HOUR()
Funktion gibt es als positiven Wert zurück:
SELECT HOUR('-310:35:27');
Ergebnis:
+--------------------+ | HOUR('-310:35:27') | +--------------------+ | 310 | +--------------------+
Wenn dies ein Problem ist und Sie negative Werte benötigen, die als negative Werte zurückgegeben werden, wird die EXTRACT()
Funktion könnte das sein, wonach Sie suchen:
SELECT EXTRACT(HOUR FROM '-310:35:27');
Ergebnis:
+---------------------------------+ | EXTRACT(HOUR FROM '-310:35:27') | +---------------------------------+ | -310 | +---------------------------------+