in SQL Server. Una tabella contiene del testo con casi diversi. Voglio distinguerli tra maiuscole e minuscole e ho pensato che un ORDER BY
lo avrebbe fatto con lo ORDER BY
. Non è così. Perché?ORDINA DA ... COLLATE in SQL Server
CREATE TABLE T1 (C1 VARCHAR(20))
INSERT INTO T1 (C1) VALUES ('aaa1'), ('AAB2'), ('aba3')
SELECT * FROM T1 ORDER BY C1 COLLATE Latin1_General_CS_AS
SELECT * FROM T1 ORDER BY C1 COLLATE Latin1_General_CI_AS
entrambe le query restituiscono lo stesso, anche se il primo è "CS" per
aaa1
AAB2
aba3
(nel primo caso, voglio AAB2, aaa1, aba3
) tra maiuscole e minuscole
Il mio server è un SQL Server Express 2008 (10.0.5500) e le regole di confronto dei server predefinite sono Latin1_General_CI_AS
.
Anche la raccolta del database è Latin1_General_CI_AS
.
Il risultato rimane lo stesso se si utilizza SQL_Latin1_General_CP1_CS_AS
al posto di Latin1_General_CS_AS
.