gpt4 book ai didi

sql-server - Microsoft SQL Server 排序规则名称

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

有人知道排序规则的 WS 属性有什么作用吗?这与亚洲类型的脚本有什么关系吗? MSDN 文档将其解释为“宽度敏感”,但这对于瑞典语或英语来说没有任何意义......?

最佳答案

这里总结了宽度灵敏度的一个很好的描述:http://www.databasejournal.com/features/mssql/article.php/3302341/SQL-Server-and-Collation.htm

Width sensitivity

When a single-byte character (half-width) and the same character when represented as a double-byte character (full-width) are treated differently then it is width sensitive.

也许从英文字符的角度来看,我认为宽度敏感排序规则意味着 'abc' <> N'abc',因为一个字符串是 Unicode 字符串(每个字符 2 个字节),而另一个字符串是 Unicode 字符串(每个字符 2 个字节)每个字符字节。

从拉丁字符集的角度来看,设置似乎没有意义。也许在其他语言中这很重要。

我通常尝试将这些类型的排序规则属性设置为不敏感,以避免奇怪的事情,例如在搜索结果中未返回记录。我通常将重音设置为不敏感,因为这可能会导致很多用户搜索麻烦,具体取决于应用程序的受众。

编辑:使用 Latin1_General_CS_AS_WS 排序规则创建测试数据库后,我发现 N'a' = N'A' 实际上是 true。测试查询是:

select case when 'a' = 'A' then 'yes' else 'no' end
select case when 'a' = 'a' then 'yes' else 'no' end
select case when N'a' = 'a' then 'yes' else 'no' end

所以在实践中我不确定这种规则在哪里发挥作用

关于sql-server - Microsoft SQL Server 排序规则名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021119/

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