Wenn Sie mit MySQL arbeiten, können Sie TIME()
verwenden Funktion zum Extrahieren des Zeitteils aus einem Zeit- oder Datumszeitwert.
So funktioniert es:Sie übergeben den Zeit-/Datumszeit-Ausdruck als Argument und TIME()
gibt den Zeitteil zurück.
Syntax
Die Syntax lautet wie folgt:
TIME(expr)
Wobei expr
ist der Zeit/Datum/Uhrzeit-Ausdruck, aus dem Sie den Zeitteil extrahieren möchten.
Einfaches Beispiel
Hier ist ein Beispiel mit einem datetime-Wert.
SELECT TIME('2021-01-03 11:15:45');
Ergebnis:
+-----------------------------+ | TIME('2021-01-03 11:15:45') | +-----------------------------+ | 11:15:45 | +-----------------------------+
Sekundenbruchteile
Hier ist ein Beispiel, bei dem der datetime-Wert auch Sekundenbruchteile enthält.
SELECT TIME('2021-01-03 11:15:45.123456');
Ergebnis:
+------------------------------------+ | TIME('2021-01-03 11:15:45.123456') | +------------------------------------+ | 11:15:45.123456 | +------------------------------------+
Weglassen des Sekundenteils
Hier ist ein Beispiel, bei dem der Sekundenteil aus dem Anfangswert weggelassen wird.
SELECT TIME('2021-01-03 11:15');
Ergebnis:
+--------------------------+ | TIME('2021-01-03 11:15') | +--------------------------+ | 11:15:00 | +--------------------------+
In diesem Fall wird der Sekundenteil trotzdem zurückgegeben, obwohl er im Anfangswert weggelassen wurde.
Extrahieren der Zeit aus einem „Zeit“-Wert
Wie bereits erwähnt, kann das erste Argument selbst ein Zeitwert sein (d. h. es muss kein datetime-Wert sein).
SELECT TIME('11:15');
Ergebnis:
+---------------+ | TIME('11:15') | +---------------+ | 11:15:00 | +---------------+
Anweisungsbasierte Replikation – Warnung
Die MySQL-Dokumentationen sagen Folgendes über TIME()
Funktion:
Diese Funktion ist für die anweisungsbasierte Replikation unsicher. Eine Warnung wird protokolliert, wenn Sie diese Funktion verwenden, wenn binlog_format
auf STATEMENT
gesetzt ist .