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

Busqueda entre palabra<espacio>

Estas en el tema de Busqueda entre palabra<espacio> en el foro de Mysql en Foros del Web. La base de datos es mysql y es una tabla de areas de paises. Supongo qe se debe hacer por expresiones regulares pero honestamente no ...
  #1 (permalink)  
Antiguo 08/09/2009, 10:13
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 14 años, 11 meses
Puntos: 0
Busqueda entre palabra<espacio>

La base de datos es mysql y es una tabla de areas de paises.
Supongo qe se debe hacer por expresiones regulares pero honestamente no me queda muy claro y cada vez que lo hago me dice error de sintaxis.
Necesito hacer una busqueda de este estilo.
palabra<cantidad arbitraria de espacios y unicamente espacios>palabra.
Por ejemplo: si yo hago

Código:
 SELECT *
FROM `areasdepaises`
WHERE `description` LIKE CONVERT( _utf8 'Canada%British%Columbia%Mainland'
USING latin1 )
COLLATE latin1_spanish_ci
LIMIT 0 , 30
los resultados son
1) Canada British Columbia Lower Mainland
2) Canada British Columbia Mainland


y yo lo que necesito que si hago esa busqueda me devuelva unicamente
Canada British Columbia Mainland.
Asumo que el simbolo "%" significa cualquier caracter, como hago para que ese caracter sea exclusivamente espacios???
Se agradece enormemente la ayuda.

Pd:Entre las palabras puede haber cualquier cantidad de espacios, seguramente errores de tipeo o algo parecido y con respecto a CONVERT lo hace buscando directamente con phpmyadmin.

Última edición por el_gustavo; 10/09/2009 a las 06:46
  #2 (permalink)  
Antiguo 10/09/2009, 07:02
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Busqueda entre palabra<espacio>

El_gustavo... definitivamente esto se resuelve con el uso de expresiones regulares. Estuve mirando tu tema y haciendo algunas pruebas sin tener éxito. No tengo mucha experiencia en el manejo de esta funcionalidad.

Cualquier novedad, te la hago saber.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 10/09/2009, 08:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Busqueda entre palabra<espacio>

el_gustavo,
si lo que quieres es que las palabras, y sólo esas palabras, aparezcan en el mismo orden y que haya espacios (sin determinar el número entre ellas), prueba esta consulta:

Código sql:
Ver original
  1. SELECT * FROM tabla WHERE nombrecampo
  2.  REGEXP '[[:blank:]]*Canada[[:blank:]]+British[[:blank:]]+Columbia[[:blank:]]+Mainland[[:blank:]]*'
  #4 (permalink)  
Antiguo 10/09/2009, 08:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Busqueda entre palabra<espacio>

Eso es maestro
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 10/09/2009, 11:15
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Busqueda entre palabra<espacio>

Parece que anduvo bien, era para constuir una consulta con php, muchas gracias por las ayudas.
Saludos y suertes.
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 08:35.