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

dividir una columna de datos en 4

Estas en el tema de dividir una columna de datos en 4 en el foro de Mysql en Foros del Web. Hola amigos estoy casi seguro que no se puede pero no pierdo nada preguntando tengo la siguiente columna en mi base de datos 1234 Perez ...
  #1 (permalink)  
Antiguo 04/11/2010, 09:37
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 16 años, 11 meses
Puntos: 3
dividir una columna de datos en 4

Hola amigos estoy casi seguro que no se puede pero no pierdo nada preguntando tengo la siguiente columna en mi base de datos

1234 Perez Sanchez Juan Alejandro 456783 LP

Donde:
1234 -> es el codigo del cliente
Perez -> Apellido Paterno
Sanchez -> Apellido Materno
Juan Alejandro -> Nombres
456783 LP -> carnet de identidad

Y quisiera separarlo en las columnas:
Cod_cliente, ap_paterno, ap_materno, Nombres, CI

esto lo puedo hacer por PHP pero quiero saber su hay algun SP o algo que me pueda ayudar para volver a llenar la BD con estas columnas.

saludos
  #2 (permalink)  
Antiguo 04/11/2010, 10:30
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 2 meses
Puntos: 447
Respuesta: dividir una columna de datos en 4

Hola gokufast, lo que pretendes hacer es harto difícil, sobre todo por para asignar el nombre y apellidos... ya que no estás considerando apellidos compuestos o el hecho de que una persona pueda tener más de dos nombres... y como ejemplo dos personajes de la historia:

Miguel Gregorio Antonio Ignacio Hidalgo y Costilla Gallaga Mandarte Villaseñor
(Miguel Hidalgo, Padre de la patria, México)

Juan Carlos Alfonso Víctor María de Borbón y Borbón-Dos Sicilias
(Rey Juan Carlos I de España)

hace tiempo me encontré una función para hacer split en MySQL, tal vez te pueda servir para obtener el código (primer posición) y el carnet de identidad (ultimas dos posiciones) pero definitivamente para la parte del nombre vas a tener que hacer una comprobación manual

http://blog.fedecarg.com/2009/02/22/...ring-function/

Saludos
Leo
  #3 (permalink)  
Antiguo 04/11/2010, 13:06
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: dividir una columna de datos en 4

ahorita lo voy a revisar pero es cierto lo que dices y ese problema es lo que estoy tratando de solucionar que es cuando la persona solo tiene un nombre o tiene 3, lo que estoy viendo en este momento es que me agarre el dato y cuando detecte un numero pues lo separe aun lo estoy procesando.

encontre esta respuesta aca mismo y estoy tratando de descifrarlo jeje.

http://www.forosdelweb.com/f86/ayuda...7/#post3622018

gracias por la respuesta
  #4 (permalink)  
Antiguo 04/11/2010, 13:57
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 2 meses
Puntos: 447
Respuesta: dividir una columna de datos en 4

Hola de nuevo gokufast, creo que la otra respuesta no te serviría, pues no separa el contenido de una columna, sino que lo que hace es presentar la información de una columna como si fueran columnas separadas, pero de cualquier manera dale un vistazo a ver si te sirve para algo más...

Difícilmente vas a escaparte de tener que realizar una comprobación manual de tus datos, pues son muchas las variantes en los nombres... y en definitiva creo que te será más fácil programar esto en PHP o en cualquier lenguaje de programación y no directamente en MySQL.

Saludos y buena suerte
Leo
  #5 (permalink)  
Antiguo 04/11/2010, 14:49
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: dividir una columna de datos en 4

escatamente eso me estoy temiendo jejeje ni modo manos a la obra entonces jejje gracias por la respuesta

Etiquetas: columna, dividir
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 05:43.