Richard Chamorro
04/julio/08
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.

Escribe:   Richard Chamorro
1 Comentarios
1
Diego No me funcionan la intercalación para toda la base de datos
En un SQL Server 2005 Express, lanzo ALTER DATABASE mibasedatos COLLATE Modern_Spanish_CI_AI, reinicio el servicio por si acaso, y al lanzar una consulta SELECT continúa sin ignorar los acentos, ¿debo tener en cuenta algo más?. Un saludo.
Añadir un nuevo comentario
Titulo
Nombre de usuario
Avanzis S.L.
C/ Seúl 88, nº1 dcha. Pta 1.46900 Torrente (Valencia)
Telf: +34 96 158 01 84 - Fax: +34 96 156 59 92

Copyright 2010