Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

In che modo l'intervallo di caratteri jolly di SQL Server, ad esempio [AD], funziona con le regole di confronto con distinzione tra maiuscole e minuscole?

È necessario un confronto binario come indicato in Md. La risposta di Elias Hossain .

La spiegazione è che gli intervalli nella sintassi del modello funzionano con le regole di ordinamento delle regole di confronto.

Da BOL

Quindi

;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

Resi

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

Quindi l'intervallo A-D esclude a ma include le altre 3 lettere minuscole sotto un CS collazione.