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

Búsquedas parciales con espacios de por medio

Estas en el tema de Búsquedas parciales con espacios de por medio en el foro de Mysql en Foros del Web. Hola a todos. Necesito un buscador de teléfonos integrado en una página. Los usuarios tienen 3 campos para meter sus teléfonos, y el caso es ...
  #1 (permalink)  
Antiguo 10/07/2009, 03:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Búsquedas parciales con espacios de por medio

Hola a todos.

Necesito un buscador de teléfonos integrado en una página.
Los usuarios tienen 3 campos para meter sus teléfonos, y el caso es que la manera de meterlos dificulta su búsqueda.
Pongamos de ejemplo el número 987654321
Hay gente que lo mete todo seguido, o 987 654 321, o 98 765 43 21, etc.

Obviamente una de las soluciones es restringir la entrada de esos datos para que solo los metan como en el ejemplo.

Pero, del lado de las consultas MySql, hay alguna forma de programar las consultas para que elimine los espacios al buscar?

Si el usuario introdujo 98 765 43 21
Yo, mediante la búsqueda like '9876%' consiga encontrarlo?

Saludos y gracias.
  #2 (permalink)  
Antiguo 10/07/2009, 05:35
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: Búsquedas parciales con espacios de por medio

Podrías hacer un update replace para eliminar los espacios en blanco y desde la aplicación, restringir la sintaxis correcta que deseas obtener.

Código sql:
Ver original
  1. UPDATE tabla SET campo=REPLACE(campo,' ','');


Para efectos de consulta puedes hacerlo así:

Código sql:
Ver original
  1. SELECT *FROM tabla WHERE REPLACE(telefono,' ','') LIKE '9876%';

De esta forma, si tienes un telefono 987 69 65 te lo mostrará correctamente.

Sin embargo, creo que es mejor controlar la entrada de datos para no afectar la performance de la base de datos con este tipo de funciones.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 10/07/2009 a las 08:23
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 01:20.