In MariaDB, MICROSECOND() ist eine integrierte Datums- und Zeitfunktion, die den Mikrosekundenanteil eines gegebenen Zeitausdrucks zurückgibt.
Es akzeptiert ein Argument, nämlich die Zeit, aus der Sie die Mikrosekunden extrahieren möchten.
Die Sekunden werden als Zahl im Bereich 0 zurückgegeben bis 999999 .
Syntax
Die Syntax sieht so aus:
MICROSECOND(time)
Wo time ist der Zeitausdruck, aus dem die Mikrosekunden abgerufen werden.
Beispiel
Hier ist ein Beispiel:
SELECT MICROSECOND('10:30:45.123456'); Ergebnis:
+--------------------------------+
| MICROSECOND('10:30:45.123456') |
+--------------------------------+
| 123456 |
+--------------------------------+ Der folgende Zeitausdruck enthält Mikrosekunden nicht explizit:
SELECT MICROSECOND('10:30:45'); Ergebnis:
+-------------------------+
| MICROSECOND('10:30:45') |
+-------------------------+
| 0 |
+-------------------------+
Das Ergebnis ist also 0 .
Datum/Uhrzeit-Werte
Es funktioniert auch mit datetime-Werten:
SELECT MICROSECOND('2030-02-01 10:30:45.123456'); Ergebnis:
+-------------------------------------------+
| MICROSECOND('2030-02-01 10:30:45.123456') |
+-------------------------------------------+
| 123456 |
+-------------------------------------------+ Datumswerte
Das Übergeben eines Datums ohne Uhrzeit gibt 0 zurück , zusammen mit einer Warnung.
Beispiel:
SELECT MICROSECOND('2025-10-31'); Ergebnis:
+---------------------------+
| MICROSECOND('2025-10-31') |
+---------------------------+
| 0 |
+---------------------------+
1 row in set, 1 warning (0.001 sec) Wir können die Warnung sehen, indem wir den folgenden Code ausführen:
SHOW WARNINGS; Ergebnis:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '2025-10-31' | +---------+------+----------------------------------------------+
Aktuelles Datum
Wir können NOW() übergeben als datetime-Argument, um die aktuelle Uhrzeit zu verwenden:
SELECT
NOW(6),
MICROSECOND(NOW(6)); Ergebnis:
+----------------------------+---------------------+ | NOW(6) | MICROSECOND(NOW(6)) | +----------------------------+---------------------+ | 2021-05-16 14:41:09.098168 | 98168 | +----------------------------+---------------------+
In diesem Fall habe ich NOW() angegeben sollte eine gebrochene Genauigkeit von 6 zurückgeben (wodurch Mikrosekunden zurückgegeben werden).
Hier noch einmal mit geringerer Genauigkeit:
SELECT
NOW(3),
MICROSECOND(NOW(3)); Ergebnis:
+-------------------------+---------------------+ | NOW(3) | MICROSECOND(NOW(3)) | +-------------------------+---------------------+ | 2021-05-16 14:42:35.831 | 831000 | +-------------------------+---------------------+
Ungültige Argumente
Wenn ein ungültiges Zeitargument übergeben wird, MICROSECOND() gibt null zurück :
SELECT MICROSECOND('10:75:00.123456'); Ergebnis:
+--------------------------------+
| MICROSECOND('10:75:00.123456') |
+--------------------------------+
| NULL |
+--------------------------------+ Fehlendes Argument
Aufruf von MICROSECOND() mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT MICROSECOND(); 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 MICROSECOND('10:30:45.123', '06:30:45.123'); 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.123')' at line 1zu verwenden