sql >> Database teknologi >  >> RDS >> Mysql

mysql STR_TO_DATE virker ikke

Overlad det til enklere funktion s. DATE() returnerer datodelen af ​​en streng i formatet ÅÅÅÅ-MM-DD:

SELECT DATE(birthday) FROM `test`

Resultat:

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

Grunden til, at din kode ikke virker, er STR_TO_DATE() forventer de samme input- og outputformater, f.eks. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Tag et kig på eksempler i dokumentationen . Denne funktion bruges mest til at konvertere datoer eller klokkeslæt fra et format til et andet, hvor det originale format er noget uden for MySQL, og du vil importere dataene til f.eks. MySQL's datoformat - i dette tilfælde vil du vide, hvad der er originalt datoformatet er.

Eksempel:

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


  1. C# SSH-tunnel til MySQL-server

  2. Hvordan rydder man forespørgselscache i mysql?

  3. Rødforskydning - Konverter epokestreng til tidsstempel

  4. Sender en række værdier til Oracle-proceduren til brug i WHERE IN-klausulen