Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Opérateur SQL 'Like' et 'aa'

Le classement ne fera pas automatiquement correspondre "aa" à "å".

Il s'assurera que "å" est trié correctement et quelques autres choses mais cela ne remplacera pas .La même chose s'applique "ss" vs "ß" en allemand, par exemple

Vous auriez à nettoyer les données d'une manière ou d'une autre.

SELECT REPLACE ('teliå', 'å', 'aa'), /* ...or  */REPLACE ('teliaa', 'aa', 'å')

Édité, mai 2013

Je suppose å ne correspond pas à aa dans cette collation.Cependant, il trie correctement

DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('Ab'),('Aa'),('aa'), ('å'), ('Za');

SELECT * FROM @foo ORDER BY bar COLLATE Danish_Norwegian_CI_AS;

SELECT * FROM @foo WHERE bar COLLATE Danish_Norwegian_CI_AS = 'Aa';
SELECT * FROM @foo WHERE bar COLLATE Danish_Norwegian_CI_AS = 'a';
SELECT * FROM @foo WHERE bar COLLATE Danish_Norwegian_CI_AS = 'å';