Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql STR_TO_DATE funktioniert nicht

Überlassen Sie es einer einfacheren Funktion s. DATE() gibt den Datumsteil einer Zeichenkette im Format JJJJ-MM-TT zurück:

SELECT DATE(birthday) FROM `test`

Ergebnis:

2004-12-25      
2004-12-25      
1994-12-25      
1994-12-01      

Der Grund, warum Ihr Code nicht funktioniert, ist, dass STR_TO_DATE() erwartet gleiche Ein- und Ausgabeformate, z.B. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Werfen Sie einen Blick auf Beispiele in der Dokumentation . Diese Funktion wird hauptsächlich verwendet, um Datums- oder Zeitangaben von einem Format in ein anderes zu konvertieren, wenn das Originalformat etwas außerhalb von MySQL ist und Sie die Daten beispielsweise in das Datumsformat von MySQL importieren möchten - in diesem Fall wissen Sie, was das Original ist Datumsformat ist.

Beispiel:

SELECT STR_TO_DATE('20041225', '%Y-%m-$d');   -- null - formats don't match
SELECT STR_TO_DATE('2004-12-25', '%Y-%m-%d'); -- 2004-12-25 - formats match