SQL整理排序

Hel*_*ira 1 t-sql sql-server collation

根据https://msdn.microsoft.com/en-us/library/ms184391.aspx

以下选择以不同的方式对Locations表进行排序,具体取决于整理,为什么以及如何将西班牙语整理将"Chiapas"作为最后一行?

CREATE TABLE Locations  
(Place varchar(15) NOT NULL);  
GO  
INSERT Locations(Place) VALUES ('Chiapas'),('Colima')  
                             , ('Cinco Rios'), ('California');  
GO  
--Apply an typical collation  
SELECT Place FROM Locations  
ORDER BY Place  
COLLATE Latin1_General_CS_AS_KS_WS ASC;  
GO  
-- Apply a Spanish collation  
SELECT Place FROM Locations  
ORDER BY Place  
COLLATE Traditional_Spanish_ci_ai ASC;  
GO  
Run Code Online (Sandbox Code Playgroud)

第一个查询(标准整理):

Place
-------------
California
Chiapas
Cinco Rios
Colima
Run Code Online (Sandbox Code Playgroud)

第二个查询(西班牙语整理):

Place
-------------
California
Cinco Rios
Colima
Chiapas
Run Code Online (Sandbox Code Playgroud)

Nic*_*yvV 5

因为CH在西班牙语整理中排在C之后.

请在这里查看整理图表.

在此输入图像描述