【问题标题】:Choosing carefully the collation of a SQL Server 2008 engine仔细选择 SQL Server 2008 引擎的排序规则
【发布时间】:2012-06-10 03:52:08
【问题描述】:

我一直在问自己这个问题,但在网上找不到任何好的建议。我们正在使用SQL Server 2008 R2 运行数据库服务器。

我们正在开发可以翻译成法语、德语、意大利语和英语的应用程序。

现在,如果我想从头开始创建一个新数据库,在这种情况下最好的排序规则是什么?

我找到了关于这个主题的文档,我知道它会改变我们对数据库中的内容进行排序和比较的方式,但我还没有找到任何好的资源来帮助我们选择正确的资源!

我们已经使用FRENCH_CI_AS 有一段时间了,但我们确实有点忽略了大小写的敏感性……对我们来说最好的选择是什么?

我读过很多公司使用LATIN1_GENERAL_CI_AS,但仍然不区分大小写,我真的不明白他们为什么不区分大小写,尤其是在处理需要区分大小写的德语等语言时!选择 CS 排序规则有缺点吗?如果有,它们是什么?

编辑: 什么是最好的排序规则(在我们的例子中)?

  • LATIN1_GENERAL_CI_AS
  • LATIN1_GENERAL_CS_AS
  • FRENCH_CI_AS
  • FRENCH_CS_AS
  • 另一个更适合我们的语言先决条件的排序规则?

感谢您的帮助!

【问题讨论】:

    标签: sql-server collation case-sensitive


    【解决方案1】:

    您可以设置排序规则

    • 数据库级
    • 列级和
    • 语句/操作级别(比较、排序)

    (MSDN)

    例如,您可以定义不区分大小写的 NVARCHAR 列(用于搜索),但在 SELECT 语句的 ORDER BY 子句中应用区分大小写的排序规则。

    【讨论】:

    • 感谢您的回答,但是为了在良好的基础上启动一个新的数据库,我们的数据库引擎选择什么排序规则是最好的!
    猜你喜欢
    • 2011-05-05
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多