Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql STR_TO_DATE ne fonctionne pas

Laissez-le à fonction plus simple s. DATE() renvoie la partie date d'une chaîne au format AAAA-MM-JJ :

SELECT DATE(birthday) FROM `test`

Résultat :

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

La raison pour laquelle votre code ne fonctionne pas est que STR_TO_DATE() attend les mêmes formats d'entrée et de sortie, par ex. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Jetez un œil au exemples dans la documentation . Cette fonction est principalement utilisée pour convertir des dates ou des heures d'un format à un autre, où le format d'origine est quelque chose de l'extérieur de MySQL et vous voulez importer les données dans le format de date de MySQL par exemple - dans ce cas, vous saurez ce que l'original le format de date est.

Exemple :

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