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

Compara Strings en sql

Estas en el tema de Compara Strings en sql en el foro de Mysql en Foros del Web. Hola a todos , Tengo un problema necesito saber si un string se encuentra en la base de datos o no, eso en principio no ...
  #1 (permalink)  
Antiguo 29/03/2006, 10:59
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 0
Compara Strings en sql

Hola a todos ,

Tengo un problema necesito saber si un string se encuentra en la base de datos o no, eso en principio no seria de dificil resolución, ja que con :

select IDNombre from Personas where Nombre_Completo='Juan Jose Lopez Vidal de todos los SAntos'

ya estaria resuelto, pero el principal problema es que es posible que el nombre esté mal introducido "Juan Jse LopezVidal de todos los SAntos" (Falta la o de Jose y el espacio ), en este caso no lo encontraria y el like tampoco funcionaria.

He optado por guardar dos cadenas, la que se muestra (con espacios) y la que queda oculta (sin espacios:JuanJoseLopezVidaldetodoslosSAntos ) así solvento el problema de los espacios, pero me falta por resolver el problema de los caracteres omitidos o erroneos... todo son problemas...

Alguien se le ocurre la mejor forma de hacerlo, alguna instrucción de sql que de el porcentaje de aciertos o coincidencias o algo por el estilo. Estoy sumido en el más profundo pesar...

Hasta Pronto y gracias por la ayuda.


Por cierto, he posteado este mismo texto en la raiz de base de datos, pero como trabajo en mysql tambien lo he postado aquí.
  #2 (permalink)  
Antiguo 29/03/2006, 11:34
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Cuando recibes el nombre completo a consultar, podrias dividirlo en los distintos nombre y apellidos que lo conforman y preguntar con like por cada uno de ellos, ejemplo:

nombre_completo="Claudio Vega"
nombre="claudio"
apellido="vega"

1) select * from tabla where nombre_completo like '%nombre%'
2) select * from tabla where nombre_completo like '%apellido%'
  #3 (permalink)  
Antiguo 30/03/2006, 10:10
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 0
Gracias, pero necesito el que mas se le aproxime o coincida de entre todos los registros que hay en la bbdd.
Me parece que hay algo que me dice la suma de los caracteres y mirar sui se me ocurre algo, pero nu se

Si alguien tiene alguna buena idea me haría un gran favor, toy desolao

Hasta pronto y gracias por la ayuda
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:01.