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

[SOLUCIONADO] importar datos fechas

Estas en el tema de importar datos fechas en el foro de Mysql en Foros del Web. Hola , llevo tiempo visitando este foro y aprendiendo con vosotros! la verdad esque llevo muy poquito con mysql y acabo de estancarme , tengo ...
  #1 (permalink)  
Antiguo 29/09/2012, 08:40
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
importar datos fechas

Hola , llevo tiempo visitando este foro y aprendiendo con vosotros! la verdad esque llevo muy poquito con mysql y acabo de estancarme , tengo un problema y estoy ya desesperado!!!

Mi problema es que tengo unas columnas con fechas en formato dd/mm/aaaa que importo desde un csv como Varchar (sino no , no se cargan) y necesito cambiarlas al formato ejemplo: Enero-11 .

Entonces con REPLACE podria decirle que me busque y me cambie ... pero como discrimino la posición?

02/01/2012 quedaria (Febrero/Enero/12)

He estado buscando por internet y en el foro y sigo dandome cabezazos asi que si me podeis dar una sintaxis de ejemplo Os lo Agradecería mucho!

Muchas gracias de Antemano!!!
Saludos!
  #2 (permalink)  
Antiguo 29/09/2012, 09:54
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: importar datos fechas

Voy a dar + info por si me quedé corto!

haciendo esto :

SELECT SUBSTR(fec_alta,1,2,3) FROM clientes

Seleciono los 3 primeros registros 01/XX/XXXX

Y me gustaria hacer algo como :

UPDATE clientes SET fec_alta = REPLACE(SUBSTR(fec_alta,1,2,3),fec_alta,' ')

Es decir quiero cambiar toda la fila de fechas y cargarme el día :

01/01/2012 --------> para que me quede solo el mes 01/2012

ya que entonces solo cambio los años luego el delimitador / por el - y por último el mes

Gracias!
  #3 (permalink)  
Antiguo 30/09/2012, 13:06
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: importar datos fechas

Ya lo conseguí , llevo 2 semanas en mysql ... y bueno ahi vamos , lo que pretendia es cambiar el formato de fecha timestamp 09/02/2011 0:00 a Febrero/12 porque tengo que introducirlo exactamente así en otra aplicación!
así que aqui dejo lo que me funcionó despues de casi cortarme las venas y 50.000 pruebas por si le pudiese servir a alguien! ( por supuesto estoy seguro de que se podría hacer con menos lineas pero ya no puedo más con el tema! ) Se aceptan sugerencias! Gracias.
Cita:
Código MySQL:
Ver original
  1. UPDATE impagos SET FEC_VTO = REPLACE(FEC_VTO,'0:00','');
  2. UPDATE pagos SET FEC_VTO = REPLACE(FEC_VTO,'/2012','/12');
  3. UPDATE pagos SET FEC_VTO = REPLACE(FEC_VTO,'/2011','/11');
  4. UPDATE pagos SET FEC_VTO = REPLACE(FEC_VTO ,'/2013','/13');
  5. UPDATE pagos SET FEC_VTO = REPLACE(FEC_VTO ,'/2013','/14');
  6. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO,'/2015','/15');
  7. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/2009','/09');
  8. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/2008','/08');
  9. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/0','/');
  10. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/10/','/octubre/');
  11. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/11/','/Noviembre/');
  12. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'/12/','/Diciembre/');
  13. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO,SUBSTR(fec_vto,1,3),'');
  14. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'1/','Enero/');
  15. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'2/','Febrero/');
  16. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'3/','Marzo/');
  17. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'4/','Abril/');
  18. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'5/','Mayo/');
  19. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'6/','Junio/');
  20. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'7/','Julio/');
  21. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'8/','Agosto/');
  22. UPDATE pagos SET FEC_VTO= REPLACE(FEC_VTO ,'9/','Septiembre/');
Saludos!!

Etiquetas: sql
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 15:21.