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

Trocear campo varchar

Estas en el tema de Trocear campo varchar en el foro de Mysql en Foros del Web. Hola a todos. Tengo una base de datos bastante poblada en la que tengo una tabla Usuarios con el campo nombre, donde se han guardado ...
  #1 (permalink)  
Antiguo 20/12/2010, 07:08
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Trocear campo varchar

Hola a todos. Tengo una base de datos bastante poblada en la que tengo una tabla Usuarios con el campo nombre, donde se han guardado nombre y apellidos (todo en el mismo campo).

He creado una base de datos nueva, mejorando la anterior y en la nueva tabla Usuarios, existen los campos nombre, apellido1 y apellido 2.

Me gustaría saber si es posible realizar una consulta que seleccione subcadenas (haciendo posible trocear el campo nombre de la bbdd antigua en nombre, apell1 y apell2) para migrarla a los campos de la tabla usuarios de la nueva bbdd.

Espero haberme explicado con claridad

Espero vuestra respuesta. Gracias por vuestro tiempo. Un saludo a todos.

  #2 (permalink)  
Antiguo 20/12/2010, 07:43
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 18 años
Puntos: 8
Respuesta: Trocear campo varchar

hola, claro que es posible revisate la funcion mid o substring aqui: http://dev.mysql.com/doc/refman/5.0/...functions.html


Hasta la proxima.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 20/12/2010, 07:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Trocear campo varchar

Algunas veces han preguntado esto mismo, y en general el problema es que si bien se puede hacer una rutina que permita tomar las subcadenas, sucede que para usarlos debe forzosamente existir una regularidad en el contenido de la tabla que puede no cumplirse.
SI todos los registros tienen un sólo nombre y dos apellidos, no hay problema, pero ¿qué pasa si figuran dos nombres?, ¿o tres? ¿Qué pasa si pusieron un sólo apellido, o uno compuesto de dos o tres partes, como por ejemplo "Rodríguez y De la Puerta"? ¿Cómo haces un algoritmo que permita analizar todo eso?
En general el tema es que hay una parte de los nombres que pueden procesarse automáticamente, pero una gran cantidad de casos en los que debes hacer una validación manual... y no puedes evitarlo.

En general se trata de una metida de pata habitual cuando te inicias en las Bases de Datos. Muchos no se dan cuenta que los nombres jamás se ponen completos en un sólo campo, sino que nombres y apellidos van en campos distintos, siempre.
No te aconsejo que pongas dos campos para el apellido, si no es por un requerimiento estricto surgido del análisis del sistema, porque eso puede parecer una buena idea, pero no suele ser funcional atomizar así. A fin de cuentas, si buscas a un "Rodríguez Pérez", no tiene sentido poner ambos por separado. Lo único que logras es complicar innecesariamente las consultas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 21/12/2010, 01:15
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Trocear campo varchar

Gracias por vuestro interés y vuestra ayuda.

Saludos

Etiquetas: varchar, campos
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:26.