【问题标题】:How to choose collation of SQL Server database如何选择 SQL Server 数据库的排序规则
【发布时间】:2011-05-31 23:21:46
【问题描述】:

如果我想使用数据库来存储不同组的特殊字符,我该如何选择使用哪种排序规则?例如,如果我将排序规则设置为克罗地亚语并且想要使用俄语西里尔文、除克罗地亚特殊字符之外的日语字符 - 我应该使用哪种排序规则?

谢谢, 伊利亚

【问题讨论】:

    标签: sql sql-server collation


    【解决方案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 进行存储,并且可能默认整理到最常见的查询场景。我猜排序规则主要用于索引/排序
    猜你喜欢
    • 1970-01-01
    • 2020-12-16
    • 2011-04-08
    • 2014-02-22
    • 2014-11-25
    • 2011-10-15
    • 2011-07-19
    • 2012-06-10
    • 2012-09-12
    相关资源
    最近更新 更多