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

Separar Razón Social

Estas en el tema de Separar Razón Social en el foro de Oracle en Foros del Web. Resulta que tengo el siguiente problema, tengo un campo extraído desde una tabla que contiene el nombre completo de una persona (2 o más nombres, ...
  #1 (permalink)  
Antiguo 28/05/2007, 15:49
 
Fecha de Ingreso: enero-2004
Mensajes: 52
Antigüedad: 20 años, 3 meses
Puntos: 0
Separar Razón Social

Resulta que tengo el siguiente problema, tengo un campo extraído desde una tabla que contiene el nombre completo de una persona (2 o más nombres, y apellidos). Y lo que necesito es separar los nombres y apellidos de la manera más correcta posible, cosa de que cada uno de ellos vaya en un campo correspondiente. Y el problema es mayor cuando los apellidos o nombres son compuestos, por ejemplo

Juan de Dios Vial de la Fuente

en este caso, queda separado de esta manera:

1er Nombre: Juan
2do Nombre: de Dios
1er Apellido: Vial
2do Apellido: de la Fuente

Sin embargo, por el método tradicional (instr ' ' y substr) me cortaría a la siguiente manera:

1er Nombre: Juan
2do Nombre: de
1er Apellido: Dios
2do Apellido: Vial

Quizás coupando un min length se solucione, pero también hay que tener en cuenta que hay apellidos y nombres de pocas letras (Ada, por ejemplo) que dificultarían esto. Sé que es bastante difícil de lograr algo perfecto, pero lo que estoy intentando es especificar las palabras más usadas en los nombres y evaluar cada conjunto de carácteres con ellas. Con que un 85% de los nombres sean correctamente trasladados me conformo.
__________________
I can see the bodies on the wall... all the nightmare dreams i can't recall come...
  #2 (permalink)  
Antiguo 29/05/2007, 21:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 251
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Separar Razón Social

creo que seria de evaluar una tabla en donde tengas una lista de apellidos compuestos comunes, y validar antes de separar
__________________
www.lomasnuevo.net
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 02:55.