排序规则
排序规则指定表⽰数据集中每个字符的位模式。 排序规则还确定数据的排序和比较规则。 SQL
Server ⽀持在单个数据库中存储具有不同排序规则的对象。 对于非 Unicode 列,排序规则设置指
定数据的代码⻚以及可以表⽰哪些字符。 必须将在非 Unicode 列间移动的数据从源代码⻚转换到
⽬标代码⻚。
当 Transact-SQL 语句在具有不同排序规则设置的不同数据库上下文中运⾏时,其运⾏结果可能会
不同。 如果可能,请为组织使⽤标准化排序规则。 这样就不必显式指定每个字符或 Unicode 表
达式中的排序规则。 如果必须使⽤具有不同排序规则和代码⻚设置的对象,请对查询进⾏编码,
以考虑排序规则的优先顺序规则。 有关详细信息,请参阅 排序规则优先顺序 (Transact-SQL) 。
与排序规则关联的选项区分⼤⼩写、区分重⾳、区分假名、区分全半⾓以及区分变体选择符。
SQL Server 2019 (15.x) 为 UTF-8 编码引入了其他选项。
可以通过将这些选项附加到排序规则名称中来指定这些选项。 例如,排序规则
Japanese_Bushu_Kakusu_100_CS_AS_KS_WS_UTF8 区分⼤⼩写、区分重⾳、区分假名、区分全半
⾓以及使⽤ UTF-8 编码。 再举⼀例,此排序规则 Japanese_Bushu_Kakusu_140_CI_AI_KS_WS_VSS
就不区分⼤⼩写、不区分重⾳、区分假名、区分全半⾓、区分变体选择符,并且使⽤非 Unicode
编码。
下表描述了与这些不同选项关联的⾏为:
展开表
评论