Comprendre les collations dans SQL Server
Channel: Rudi Bruchez
Date: 10/02/2019

Vous avez certainement déjà entendu parler de la collation en SQL Server. C'est traduit en français, par « classement ». Ce n'est pas une très bonne traduction, on va vraiment garder le terme américain de « collation ».

En SQL Server en français, la collation par défaut est French_CI_AS, c’est une collation Windows. Cette collation s'applique aux VARCHAR ou NVARCHAR, pour les recherches et les tris. Le CI de French_CI_AS veut dire Case Insensitive, donc insensible à la casse. AS, ça veut dire Accent Sensitive, donc sensible aux accents. La sensibilité, c’est comment on compare ces chaînes de caractères dans une clause WHERE par exemple, mais aussi lorsqu'on va faire un tri, avec un ORDER BY.

On peut changer la collation d’une colonne, et même, on peut changer à la volée dans l’instruction SQL, avec une instruction COLLATE, pour forcer pendant la comparaison une autre collation.

SELECT * FROM Contact.Contact
WHERE Prenom = 'Philomène'

SELECT * FROM Contact.Contact
WHERE Prenom = 'PHILOMÈNE'

SELECT * FROM Contact.Contact
WHERE Prenom COLLATE French_CI_AI = 'PHILOMENE'