gpt4 book ai didi

sql - 在表创建脚本中显式指定排序规则的优缺点是什么?

转载 作者:行者123 更新时间:2023-12-02 02:13:45 24 4
gpt4 key购买 nike

创建表时,COLLATE 子句是可选的。所以,在:

CREATE TABLE T1 (
F1 varchar(50) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
F2 varchar(50) NOT NULL
)

F2 的排序规则将由数据库默认确定。

过去,我们的团队始终使用默认排序规则。但是,我们现在有几列需要明确指定排序规则。我们正在考虑是否更改我们的标准以始终指定整理并寻找可能有助于此决定的任何其他信息。

所以:
  • 总是指定排序规则的优点/缺点是什么?
  • 如果我们总是指定排序规则,是否有任何需要注意的问题?

  • 可能相关的附加信息:
  • 我们部署到多个客户端,并不是所有的客户端都会同时升级。
  • 某些客户端在其服务器上确实有不同的排序规则配置。
  • 我们的应用程序使用 Ansi 字符串,对 Unicode 的任何考虑都是 非常离这儿很远。
  • 我们使用 MS SQL Server 2005 及更高版本(尽管如果可能,我更愿意将问题保留在任何支持排序规则的平台上)。

  • 请注意 : 这个问题是 不是 询问如何解决排序规则冲突,或更改现有的服务器/数据库/列排序规则。 (已经有很多了。)

    最佳答案

    您正在构建一个部署在客户端计算机上的应用程序。你应该明确你的排序规则。

    例如,默认排序规则不区分大小写。如果客户端——无论出于何种原因——更喜欢将区分大小写作为其数据库中的默认值,那么不同机器上的比较将有所不同。

    你也有调试的问题。如果客户以一个顺序获得结果,您的测试/开发系统可能会以不同的顺序获得它们。这可能会妨碍调试和客户支持。

    最后,在您身边拥有一致的软件进行调试、维护和支持可能会更好。如果特定客户需要不同格式的数据,则为该客户定制系统。

    关于sql - 在表创建脚本中显式指定排序规则的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578591/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com