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

Comment la plage de caractères génériques SQL Server, par exemple [A-D], fonctionne-t-elle avec le classement sensible à la casse ?

Vous avez besoin d'un classement binaire comme indiqué dans Md. La réponse d'Elias Hossain .

L'explication est que les plages dans la syntaxe du modèle fonctionnent hors des règles d'ordre de tri de classement.

De BOL

Alors

;WITH T(C) AS
(
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL
SELECT 'C' UNION ALL
SELECT 'D' UNION ALL
select 'a' union all
select 'b' union all
select 'c' union all
select 'd'
)
SELECT *
FROM T
ORDER BY C COLLATE Latin1_General_CS_AS

Retours

C
----
a
A
b
B
c
C
d
D

Donc la plage A-D exclut a mais inclut les 3 autres lettres minuscules sous un CS collation.