Ignorar los acentos en las búsquedas con SQL Server
El truco está en cambiar la intercalación (Collation en inglés) del campo en el que quieres buscar o bien de la base de datos completa, para que utilice alguna de las intercalaciones que ignoran los acentos, que son aquellas acabadas en _IA (Insensitive Accent).
Por ejemplo si tenemos la siguiente consulta y utilizamos “San” como valor de entrada:
SELECT Nombre, ApellidoPaterno, ApellidoMaterno
FROM Empleados
WHERE ApellidoPaterno LIKE '%' + @Valor +'%'
Esto NO nos devolverá los empleados con apellidos cómo “Sánchez”. Para arreglar esta situacion simplemente indicamos que la comparación (LIKE) deberá hacerse utilizado una intercalación especifica, una que no sea sensible a los acentos. Entonces:
SELECT Nombre, ApellidoPaterno, ApellidoMaterno
FROM Empleados
WHERE ApellidoPaterno LIKE '%' + @Valor +'%' COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI
Con esto solucionamos el problema y con el valor establecido a “San” obtendríamos entre los resultados a “Sánchez”, “Sandoval”, etc.
Tags:
