Búsquedas sin distinguir mayúsculas ni acentos
La sensibilidad a mayúsculas y acentos depende del motor, de la intercalación configurada y del operador utilizado. No conviene asumir que todas las comparaciones de texto tienen el mismo comportamiento.
Cargando actividad al acercarte…
Resumen del tema
Conceptos clave #
- Sensibilidad a Mayúsculas/Minúsculas (Case Sensitivity): depende de la intercalación (collation) configurada en la columna o base de datos.
- Sensibilidad a Acentos (Accent Sensitivity): tratamiento de caracteres con tildes o diacríticos (
_AIaccent-insensitive vs._ASaccent-sensitive). - Técnicas por Motor:
- PostgreSQL: combinación de
unaccentyLOWERpara ignorar acentos y mayúsculas;ILIKEsolo resuelve estas últimas. - MySQL / SQL Server: cláusula
COLLATE(por ejemplo,utf8mb4_0900_ai_cioLatin1_General_CI_AI). - SQLite:
COLLATE NOCASEsolo cubre ASCII de forma nativa; para Unicode completo se necesita una intercalación o función adicional, como las proporcionadas por ICU. - Oracle: funciones de conversión como
TRANSLATE()oNLSSORT().
- PostgreSQL: combinación de
Qué debes recordar #
Para realizar búsquedas insensibles a mayúsculas y acentos, utiliza la intercalación (collation) o funciones adecuadas según el motor para no forzar conversiones costosas en cada fila.