Haciendo algunas pruebas con HSQL y algo de código JAVA he tratado de almacenar cierta información que he requerido recuperar sin fijarme demasiado en lo que introducía, estas cadenas pueden contener caracteres en mayúscula o minúscula, acentuados… al lanzar la consulta SQL el típico LIKE que solemos usar, ha pasado completamente y quería recibir las cadenas tal cual.
Vamos a verlo con un ejemplo:
En base de datos tenía Verde y debería tener un resultado positivo al tratar de buscar algo como ver, rde…
|
1 |
SELECT * FROM table WHERE column LIKE '%erd%'; |
Para solucionarlo hay que agregar una partícula a la consulta:
|
1 |
SELECT * FROM table WHERE LCASE(column) LIKE '%erd%'; |
Como solución alternativa, también es posible crear la columna con un VARCHAR_IGNORECASE, pero entonces no habríamos aprendido 