2009-09-29 55 views
3

我已經在sql server中有一個表,其中一列用於存儲多語言數據,它是當前的nvarchar(250)。使用sql server排序和排序和統一代碼

當對Web前端的列進行排序時,我想考慮用戶的語言環境,例如西班牙語正確排序並將「ch」考慮在內。

我有點迷失在如何做到這一點。

任何人都可以指向正確的方向。

回答

2

如果您在使用SQL Server 2005起,您可以在ORDER BY子句指定歸類名,所以你可以動態地構造查詢和選擇的歸類名稱:

[ ORDER BY 
    { 
    order_by_expression 
    [ COLLATE collation_name ] 
    [ ASC | DESC ] 
    } [ ,...n ] 
] 

但請務必仔細閱讀The Curse and Blessings of Dynamic SQL

1
SELECT ... 
FROM Table 
WHERE ... 
ORDER BY <column> COLLATE Spanish_CI_AI; 

您可以在操作期間使用COLLATE指定列的特定歸類。這起到了將類型數據轉換爲指定排序規則的作用。