16/09/2013, 06:54
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 11 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) |