En un principio no parecía problemático... hasta que te pones a escribir la SELECT en SQL y pones:
SELECT * FROM MI_TABLA
WHERE DESCRIPCION LIKE '%cosa%' ;
Como sabemos, esta consulta traería todos las filas que en descripción contenga la palabra 'cosa', en cualquier parte de su texto. Pero no queremos buscar 'cosa', queremos buscar el tanto por ciento (%).
¿Cómo ponerlo si ese símbolo es un carácter especial de la SQL que representa el comodín?. Rebuscando por internet, he encontrado la solución para buscar este carácter especial:
SELECT * FROM MI_TABLA
WHERE DESCRIPCION LIKE '%!%%' ESCAPE '!';
Usando la clausula de ESCAPE puedes buscar caracteres que normalmente no los podrías buscar. Se pueden buscar cadenas de caracteres que incluyan uno o más caracteres comodín especiales. Para buscar el signo de porcentaje como un carácter, en lugar de buscarlo como un carácter comodín, hay que proporcionar la palabra clave ESCAPE y el carácter que queremos "ignorar". Si no pusieramos ese símbolo de exclamación y el ESCAPE '!', devolvería cualquier fila.
He puesto el símbolo de exclamación por poner un ejemplo, pero funcionaría exactamente igual si pusieramos cualquier otro caráctero. La cláusula ESCAPE ignorará ese carácter del LIKE y permitirá buscar el resto.
WHERE DESCRIPCION LIKE '%z%%' ESCAPE 'z';
Espero que os sirva como me ha servido a mi ;). Un saludo.
Muchas gracias, me ha venido muy bien. ME lo apunto en mi chuleta de cosas raras
ResponderEliminarGracias!!! Me salvaste!!! NO encontré eso por otro lado
ResponderEliminarGracias por el feedback ;) Espero que os fuera útil.
EliminarMuchas gracias por el aporte, me fue muy útil
ResponderEliminarGracias por el feedback ;) Espero que os fuera útil.
Eliminar