Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2012, 10:20
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: buscar parte de una cadena dada

Hola mr_mojo_risin:

La cláusula IN sirve sólo para encontrar coincidencias exactas, no para búsqueda de patrones, por lo que tienes que implementar otra alternativa para hacer lo que quieres...

Tienes varias opciones para elegir... en lo particular te diría que utilizaras Búsquedas te Texto completo, aunque estas búsquedas se aplican sólo a tablas MyISAM. este tipo de búsquedas tiene muchísimas características que te servirían, creo que valdría la pena que le dieras un vistazo más completo.

Otra opción, aunque menos recomendable es utilizar Búsquedas LIKE.

http://dev.mysql.com/doc/refman/5.0/...-matching.html
http://dev.mysql.com/doc/refman/5.0/...functions.html

No es muy recomendable ya que estas búsquedas son extremadamente ineficientes... la idea sería descompone tu frase en palabras atómicas, de tal manera que la condición quedara más o menos así:

Código:
.....
WHERE
cadena LIKE '%Cadena%' OR 
cadena LIKE '%de%' OR 
cadena LIKE '%búsqueda%'
.....
Te repito, estas comparaciones SON EXTREMADAMENTE INEFICIENTES, por lo que no recomiendo en absoluto su uso.

Finalmente, podrías tratar de armar una Expresión Regular aunque esta puede resultar un poco complicada de armar a partir de la cadena que introduzcas y los criterios que quieras tomar en cuenta.

Saludos
Leo.