在 SQL Server 下。一个表格包含一些不同大小写的文本。我想对它们进行区分大小写的排序,并认为 aCOLLATE
会这样做ORDER BY
。它没有。为什么?
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
两个查询返回相同,即使第一个是“CS”表示区分大小写
aaa1
AAB2
aba3
(在第一种情况下,我想要AAB2, aaa1, aba3
)
我的服务器是 SQL Server Express 2008 (10.0.5500),它的默认服务器排序规则是Latin1_General_CI_AS
.
数据库的排序规则也是Latin1_General_CI_AS
如此。
如果我使用SQL_Latin1_General_CP1_CS_AS
.Latin1_General_CS_AS