In MariaDB STR_TO_DATE()
ist eine eingebaute Datums- und Uhrzeitfunktion, die einen datetime-Wert basierend auf der angegebenen Datumszeichenfolge und Formatzeichenfolge zurückgibt.
Das STR_TO_DATE()
Funktion ist die Umkehrung von DATE_FORMAT()
Funktion.
Syntax
Die Syntax lautet wie folgt:
STR_TO_DATE(str,format)
Wobei str
ist die Datumszeichenfolge und format
ist eine Formatzeichenfolge, die das Format der Datumszeichenfolge angibt.
Beispiel
Hier ist ein Beispiel:
SELECT STR_TO_DATE('Monday, May 24, 2021', '%W, %M %e, %Y');
Ergebnis:
Die Formatzeichenfolge besteht aus einer Reihe von Formatbezeichnern, die MariaDB mitteilen, wie das Datum im ersten Argument formatiert ist. Siehe MariaDB-Formatzeichenfolgen für eine Liste von Formatbezeichnern, die in einer Formatzeichenfolge verwendet werden können.
In diesem Beispiel ist das Ergebnis ein Datumswert, da der Formatstring nur die Datumsteile enthält.
Gib einen Datetime-Wert zurück
Hier ist ein Beispiel, das einen datetime-Wert zurückgibt:
SELECT STR_TO_DATE('May 24, 2021', '%M %e, %Y %H:%i:%S');
Ergebnis:
In diesem Beispiel wurde der Zeitteil hinzugefügt, obwohl das erste Argument keinen Zeitteil enthielt.
Hier ist ein weiteres Beispiel, das einen Zeitteil im ersten Argument enthält:
SELECT
STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S on %M %e, %Y');
Ergebnis:
Hier ist eine andere, bei der die Datumszeichenfolge einen lockereren Zeitwert verwendet:
SELECT
STR_TO_DATE('10.30pm on May 24, 2021', '%H.%ipm on %M %e, %Y');
Ergebnis:
Gib einen Zeitwert zurück
Hier ändern wir den Formatstring, um nur den Zeitwert zurückzugeben:
SELECT STR_TO_DATE('10:30:45 on May 24, 2021', '%H:%i:%S');
Ergebnis:
Illegaler Datums-/Uhrzeit-String
Das Übergeben einer ungültigen Datumszeichenfolge gibt null
zurück mit einer Warnung.
Beispiel:
SELECT STR_TO_DATE('Humpday, May 26, 2021', '%W, %M %e, %Y');
Ergebnis:
Schauen wir uns die Warnung an:
SHOW WARNINGS;
Ergebnis:
+---------+------+------------------------------------- ----------------------------------+| Ebene | Code | Nachricht |+---------+------+------------------------------ ----------------------------------------------+| Warnung | 1411 | Falscher datetime-Wert:'Humpday, May 26, 2021' für Funktion str_to_date |+---------+------+---------------- -------------------------------------------------- ----------+
Fehlendes Argument
Aufruf von STR_TO_DATE()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT STR_TO_DATE();
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion 'STR_TO_DATE'
Und noch ein Beispiel:
SELECT STR_TO_DATE('Friday, 28 May 2021');
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion 'STR_TO_DATE'