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’

Rudi Bruchez
Sql Server consultant and trainer, Data Platform MVP
Modélisation, administration, optimisation, audit, formation. Solutions MS SQL Server et NoSQL
Expert SQL Server avec vingt ans d’expérience, focalisation sur l’optimisation. Conseil et développement pour Cassandra et MongoDB

Modelling, administration, optimisation, audit, training, MS SQL Server and NoSQL.
MS SQL Server expert with 20 years experience. Also NoSQL solutions, mainly Cassandra and MongoDB.

http://www.babaluga.com/contact/

Comprendre les collations dans SQL Server