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

Obviar caracteres especiales en consulta

Estas en el tema de Obviar caracteres especiales en consulta en el foro de Mysql en Foros del Web. Hola amigos, Vereis tengo que hacer una consulta para encontrar los nombres de los comercios la cosa es que necesito que obvie los caracteres especiales ...
  #1 (permalink)  
Antiguo 16/09/2013, 05:50
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 4
Obviar caracteres especiales en consulta

Hola amigos,

Vereis tengo que hacer una consulta para encontrar los nombres de los comercios la cosa es que necesito que obvie los caracteres especiales es decir si hay una tienda que se llama "tienda,oficina" que la encuentre aunque no se ponga la coma.

A ver si alguien sabe como podria hacer esto.

Un saludo!
  #2 (permalink)  
Antiguo 16/09/2013, 06:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obviar caracteres especiales en consulta

Por lo pronto, lo mejor es que no se pongan nombres que contengan comas, puntos o cualquier otro caracter no alfanumérico.
Por otro lado, si ese texto pertenece a la descripcion del negocio, no habría problemas, pero si es una lista separada por comas, es una gran metida de pata, porque representaría un campo multivaluado, que en las bases de datos relacionales están total y absolutamente prohibidos. No sólo son una violación del paradigma relacional, sino una transgresión de la normalización, además de causar enormes problemas a la hora de las consultas.
Si no es el caso, olvidate de lo mencionado.
Fuera de eso, en un caso donde tienes un campo con un texto mediano o extenso, que contiene inevitablemente caracteres no alfanuméricos, es conveniente el uso de indices de tipo FULTEXT, y usar las capacidades de tales indices para resolver esas consultas. Como estos indices no tomarán en cuenta los separadores a la hora de buscar, resultarían especialmente funcionales para esto.
En el caso de no ser posible un indice FULLTEXT, siempre puedes acudir a expresiones regulares, para que tome el contenido del campo, parametrizando la posibilidad de existencia de separadores.
En definitiva, hay muchas soluciones posibles, sin necesidad de eliminar nada... Todo depende del esfuerzo que le pongas a aprender SQL mas o menos avanzado...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: caracteres, especiales
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 04:28.