Autor YouCode - http://www.youcode.com.ar/mysql/pasar-fechas-de-espanol-a-ingles-con-mysql-strtodate-292
Cuando tenemos una tabla con fechas en español y queremos normalizarla a ingles, suele dar dolores de cabeza, aqui un query siemple para arreglar este problema utilizando STR_TO_DATE()
Suele pasar que nos dan un excel para importar datos y resulta que tenemos una celda de fechas con formato español (dia/mes/año).Para cambiar el formato a ingles haremos lo siguiente:
Utilizaremos la función STR_TO_DATE() que nos proporciona MySql
Sabiendo que nuestra tabla donde importamos los datos, el campo de fecha debe ser varchar, entonces, una vez que los datos estan importados y vemos las fechas como 15/01/2014 (por ser verchar) , haremos el siguiente query para ver en principio los resultados de la conversion:
select campo_fecha,str_to_date((STR_TO_DATE(campo_fecha,'%d/%m/%Y')),'%Y-%m-%d') as fecha_ingles from MI_TABLA;Lo que hacemos es un conver (o dos en un saque) de un string a un date, primeramente el conver lo hace en español para detectar el separador de dias,meses y años, luego de esa convercion ya "lista" hacemos el conver al formato ingles, el resultado seria algo asi:
campo_fecha fecha_ingles 15/12/2014 2014-12-15ya tenemos la conversion, ahora deberiamos normalizar el campo, entonces lo que haríamos seria:
update MI_TABLA set campo_fecha=str_to_date((STR_TO_DATE(campo_fecha,'%d/%m/%Y')),'%Y-%m-%d');ahora ya tenemos las fechas como debe ser, nos queda pasar el campo de varchar a date.
No vamos a indicar como hacer un alter, lo que se debe saber es que si hacemos el alter a date desde un varchar SIN haber cambiado el formato de fechas, entonces las fechas apareceran como 0000-00-00 .
bueno, es todo en cuanto a fechas de español a inlges
http://www.youcode.com.ar/mysql/pasar-fechas-de-espanol-a-ingles-con-mysql-strtodate-292