sql >> Base de Datos >  >> RDS >> Mysql

mysql STR_TO_DATE no funciona

Déjalo en función más simple s. DATE() devuelve la parte de la fecha de una cadena en formato AAAA-MM-DD:

SELECT DATE(birthday) FROM `test`

Resultado:

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

La razón por la que su código no funciona es que STR_TO_DATE() espera los mismos formatos de entrada y salida, p. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Eche un vistazo a ejemplos en la documentación . Esta función se usa principalmente para convertir fechas u horas de un formato a otro, donde el formato original es algo externo a MySQL y desea importar los datos al formato de fecha de MySQL, por ejemplo; en este caso, sabrá cuál es el formato original. el formato de fecha es.

Ejemplo:

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