Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Subir datos CSV con formato DATE diferente al de MySQL

Estas en el tema de Subir datos CSV con formato DATE diferente al de MySQL en el foro de Mysql en Foros del Web. Hola, Tengo unos registros de una tabla en un archivo (.csv) Separados por puntos y coma (;) cada campo y cada registro termina en un ...
  #1 (permalink)  
Antiguo 15/08/2011, 15:04
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Subir datos CSV con formato DATE diferente al de MySQL

Hola,

Tengo unos registros de una tabla en un archivo (.csv) Separados por puntos y coma (;) cada campo y cada registro termina en un salto de línea ( \n ).

Tengo un campo fecha tipo DATE; todos sabemos que el formato en mysql de los campos DATE son AAAA-MM-DD.

En el campo fecha en el archivo, los datos están guardados así DD-MM-AAAA.

Para importar los datos de la tabla he pensado: Antes hacer un script que recorra todos los registros y cambie el formato del campo fecha al formato en mysql y después si realizar el import con load data.

Alguién me recomienda otra solución? Que no sea cambiar el campo DATE a VARCHAR o CHAR.


Gracias por sus comentarios.
  #2 (permalink)  
Antiguo 15/08/2011, 16:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Subir datos CSV con formato DATE diferente al de MySQL

Una opción es un doble paso de importación: Cargarlo en una tabla temporal con el formato que trae en un campo VARCHAR y luego hacer la carga final usando STR_TO_DATE() para recuperar la fecha.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, csv, date, diferente, formato, registros, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:30.