如何选择 SQL Server 数据库的排序规则
Posted
技术标签:
【中文标题】如何选择 SQL Server 数据库的排序规则【英文标题】:How to choose collation of SQL Server database 【发布时间】:2011-05-31 23:21:46 【问题描述】:如果我想使用数据库来存储不同组的特殊字符,我该如何选择使用哪种排序规则?例如,如果我将排序规则设置为克罗地亚语并且想要使用俄语西里尔文、除克罗地亚特殊字符之外的日语字符 - 我应该使用哪种排序规则?
谢谢, 伊利亚
【问题讨论】:
【参考方案1】: 您将使用 nvarchar 来存储数据 COLLATION 定义排序和比较这意味着您可以将克罗地亚语、俄语和日语存储在同一列中。
但是当您想要比较 (WHERE MyColumn = @foo
) 或排序 (ORDER BY MyColumn
) 时,由于排序规则,您不会得到您期望的结果。
但是,如果需要,您可以使用 COLLATE 子句对其进行更改。
例如ORDER BY MyColumn COLLATE Japanese_something
我会选择涵盖大部分数据的最常见选项。 MSDN has this maybe useful article
【讨论】:
如果您想包含尽可能多的字符类型,最常见的选项是什么? (例如所有 unicode)。 @andrew 我相信他们的意思是使用 nvarchar 进行存储,并且可能默认整理到最常见的查询场景。我猜排序规则主要用于索引/排序以上是关于如何选择 SQL Server 数据库的排序规则的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 为 SQL Server 2008 R2 的英文版,如何将 master 数据库的排序规则改为Chinese_PRC_CL_AS