sql排序规则前半部分大多是之国家的语言什么的,后半部分比如_BIN、_CI、_AI、_KI、_WI等等,
请用表格的形式列出后半部分的所有类型,并按名称、含义、词源等几列进行。
根据你的要求,我整理了SQL Server排序规则后缀的详细表格。这些后缀用于定义字符串比较和排序的具体行为规则-4。
🔤 SQL Server 排序规则后缀详解
名称 | 含义 | 词源 | 补充说明 |
_BIN | 二进制排序 | Binary (二进制) | 基于字符的二进制编码值进行排序和比较。它执行的是不完全的码位点到点比较,是早期的实现方式。 |
_BIN2 | 二进制码点排序 | Binary Code Point (二进制码位) | SQL Server 2005 中引入的更严格的二进制排序。它基于Unicode码位进行纯码位比较,结果更一致、更准确。 |
_CI | 不区分大小写 | Case-Insensitive | 比较字符串时,不区分大写字母和小写字母(例如,'A' 和 'a' 被视为相同)。 |
_CS | 区分大小写 | Case-Sensitive | 比较字符串时,区分大写字母和小写字母(例如,'A' 和 'a' 被视为不同)。 |
_AI | 不区分重音 | Accent-Insensitive | 比较字符串时,不区分带有重音符号的字符和不带重音的字符(例如,'a' 和 'á' 被视为相同)。 |
_AS | 区分重音 | Accent-Sensitive | 比较字符串时,区分带有重音符号的字符和不带重音的字符(例如,'a' 和 'á' 被视为不同)。 |
_KI | 不区分假名 | Kana-Insensitive | 比较日文字符串时,不区分平假名和片假名(例如,'は' 和 'ハ' 被视为相同)。 |
_KS | 区分假名 | Kana-Sensitive | 比较日文字符串时,区分平假名和片假名(例如,'は' 和 'ハ' 被视为不同)。 |
_WI | 不区分全半角 | Width-Insensitive | 比较字符串时,不区分全角字符和半角字符(例如,'A' 和 'A' 被视为相同)。 |
_WS | 区分全半角 | Width-Sensitive | 比较字符串时,区分全角字符和半角字符(例如,'A' 和 'A' 被视为不同)。 |
_VSS | 区分变体选择符 | Variation Selector Sensitive | SQL Server 2017中引入,用于区分日语中由基本字符和变体选择符组成的字符序列。 |
_UTF8 | 启用UTF-8编码 | UTF-8 Encoding | SQL Server 2019中引入,允许对varchar数据类型使用UTF-8编码,以节省存储空间并提高兼容性。 |
_SC | 支持补充字符 | Supplementary Character | 用于支持需要4字节表示的补充字符(如某些生僻字或Emoji),是Unicode的完整实现。 |
请注意:
_BIN和_BIN2后缀是互斥的,不会与其他敏感度选项(如_CI、_AS)组合使用,因为它们本身就是一种最严格的、区分一切的二进制比较。
_UTF8后缀可以与_CI、_AS等其他选项组合使用,但只能应用于Windows排序规则,不能用于SQL Server排序规则。
希望这个表格能帮你更清晰地理解这些后缀的含义。如果你对某个特定后缀的组合(比如 _CI_AS_KS)在具体查询中的行为感兴趣,我可以为你进一步举例说明