Cómo ignorar los acentos en las búsquedas con SQL Server

04 jul. 2008
Modificar la intercaclación - Collaction - de la base de datos

Una de los requisitos más habituales para un buscador es que al realizar las búsquedas no distinga las palabras que se diferencian sólo por acentos. Por ejemplo, si buscas la palabra “como”, también se desea que les aparezcan los resultados con las palabra “cómo”.

Hacer esto es SQL Server es muy sencillo, si sabes cómo.

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).

La sentencia para cambiar una base de datos completa para utilizar la intercalación “Modern_Spanish_CI_AI”:

ALTER DATABASE [nombrebasededatos] COLLATE Modern_Spanish_CI_AI

Si lo que queremos es sólo cambiar un campo de una tabla, el administrador de SQL Server te hace la vida más fácil. Sólo tienes que editar las propiedades de la columna, y quitar la opción de “Distinguir acentos” en el formulario que aparece al intentar modificar la propiedad “Intercalación”.

Espero que os haya sido de utilidad.

comments powered by Disqus
subir