Babelfish 排序规则支持
排序规则指定数据的排序顺序和表示格式。Babelfish 将 SQL Server 排序规则映射到 Babelfish 提供的类似排序规则。Babelfish 使用文化敏感的字符串比较和排序顺序预先定义了 Unicode 排序规则。Babelfish 还提供了一种将 SQL Server 数据库中的排序规则转换为最接近匹配的 Babelfish 排序规则的方法。针对不同的语言和区域提供了特定于区域设置的排序规则。
某些排序规则指定了与客户端编码对应的代码页。根据每个输出列的排序规则,Babelfish 会自动从服务器编码转换为客户端编码。
Babelfish 使用 ICU 排序规则库的 153.80 版本。有关为 PostgreSQL 排序规则行为的详细信息,请参阅 PostgreSQL 文档
Babelfish 支持确定性和非确定性排序规则:
排序规则会将两个具有完全相同的字节序列的字符视为相等。确定性排序规则评估
x
和X
不相等。确定性的排序规则区分大小写 (CS) 且区分重音 (AS)。非确定性排序规则不需要相同的匹配。非确定性排序规则评估
x
和X
相等。非确定性排序规则不区分大小写 (CI) 且不区分重音 (AI)。
Babelfish 和 SQL Server 遵循描述排序规则属性的排序规则命名约定,如下表所示。
属性 | 描述 |
---|---|
AI |
不区分重音。 |
AS |
区分重音。 |
BIN2 |
BIN2 请求按代码点顺序对数据进行排序。Unicode 代码点顺序与 UTF-8、UTF-16 和 UCS-2 编码的字符顺序相同。代码点顺序是一种快速的确定性排序规则。 |
CI |
不区分大小写。 |
CS |
区分大小写。 |
PREF |
要在小写字母之前对大写字母进行排序,请使用 PREF 排序规则。如果比较不区分大小写,在没有其他区别的情况下,字母的大写版本排序将在小写版本之前。ICU 库支持带有 PREF 只能应用于 |
PostgreSQL 不支持将 LIKE 子句用于非确定性排序规则,但 Babelfish 支持将其用于 CI_AS 排序规则。Babelfish 不支持将 LIKE
子句用于 AI 排序规则。也不支持对非确定性排序规则进行模式匹配操作。
要建立 Babelfish 排序规则行为,请设置以下参数。
参数 | 描述 |
---|---|
|
原定设置区域设置适用于以字母 BBF 开头的所有 Babelfish 排序规则,以及映射到 Babelfish 排序规则的所有 SQL Server 排序规则。您可以在初始创建 Babelfish 数据库后更改此参数,但它不会影响现有排序规则的区域设置。 |
|
在服务器级别和数据库级别用作原定设置排序规则的排序规则。默认值为 当您创建 Aurora PostgreSQL 集群以与 Babelfish 结合使用时,您可以从下表中的排序规则中为 |
将以下排序规则用作服务器排序规则或对象排序规则。
排序规则 ID | 注意 |
---|---|
BBF_Unicode_General_CI_AS |
支持不区分大小写的比较和 LIKE 运算符。 |
BBF_Unicode_CP1_CI_AS |
非确定性排序规则 |
BBF_Unicode_CP1250_CI_AS |
非确定性排序规则 |
BBF_Unicode_CP1251_CI_AS |
使用西里尔文字的语言的非确定性排序规则 |
BBF_Unicode_CP1253_CI_AS |
用于代表现代希腊语的非确定性排序规则 |
BBF_Unicode_CP1254_CI_AS |
支持土耳其语的非确定性排序规则 |
BBF_Unicode_CP1255_CI_AS |
支持希伯来语的非确定性排序规则 |
BBF_Unicode_CP1256_CI_AS |
用来编写使用阿拉伯文字的语言的非确定性排序规则 |
BBF_Unicode_CP1257_CI_AS |
用于支持爱沙尼亚语、拉脱维亚语和立陶宛语的非确定性排序规则 |
BBF_Unicode_CP1258_CI_AS |
用于编写越南语字符的非确定性排序规则 |
BBF_Unicode_CP874_CI_AS |
用于编写泰语字符的非确定性排序规则 |
sql_latin1_general_cp1250_ci_as |
用来表示拉丁字符的非确定性单字节字符编码 |
sql_latin1_general_cp1251_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1253_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1254_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1255_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1256_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1257_ci_as |
支持拉丁字符的非确定性排序规则 |
sql_latin1_general_cp1258_ci_as |
支持拉丁字符的非确定性排序规则 |
chinese_prc_ci_as |
支持中文 (PRC) 的非确定性排序规则。 |
cyrillic_general_ci_as |
支持西里尔文的非确定性排序规则。 |
finnish_swedish_ci_as |
支持芬兰语的非确定性排序规则。 |
french_ci_as |
支持法语的非确定性排序规则。 |
korean_wansung_ci_as |
支持韩语的非确定性排序规则(带字典排序)。 |
latin1_general_ci_as |
支持拉丁字符的非确定性排序规则。 |
modern_spanish_ci_as |
支持现代西班牙语的非确定性排序规则。 |
polish_ci_as |
支持波兰语的非确定性排序规则。 |
thai_ci_as |
支持泰语的非确定性排序规则。 |
traditional_spanish_ci_as |
支持西班牙语的非确定性排序规则(传统排序)。 |
turkish_ci_as |
支持土耳其语的非确定性排序规则。 |
ukrainian_ci_as |
支持乌克兰语的非确定性排序规则。 |
vietnamese_ci_as |
支持越南语的非确定性排序规则。 |
您可以将以下排序规则作为对象排序规则。
方言 | 确定性选项 | 非确定性选项 |
---|---|---|
阿拉伯语 |
Arabic_CS_AS |
Arabic_CI_AS、Arabic_CI_AI |
中文 |
Chinese_CS_AS |
Chinese_CI_AS、Chinese_CI_AI |
Cyrillic_General |
Cyrillic_General_CS_AS |
Cyrillic_General_CI_AS、Cyrillic_General_CI_AI |
爱沙尼亚语 |
Estonian_CS_AS |
Estonian_CI_AS、Estonian_CI_AI |
Finnish_Swedish |
Finnish_Swedish_CS_AS |
Finnish_Swedish_CI_AS、Finnish_Swedish_CI_AI |
法语 |
French_CS_AS |
French_CI_AS、French_CI_AI |
希腊语 |
Greek_CS_AS |
Greek_CI_AS、Greek_CI_AI |
希伯来语 |
Hebrew_CS_AS |
Hebrew_CI_AS、Hebrew_CI_AI |
Korean_Wamsung |
Korean_Wamsung_CS_AS |
Korean_Wamsung_CI_AS、Korean_Wamsung_CI_AI |
Modern_Spanish |
Modern_Spanish_CS_AS |
Modern_Spanish_CI_AS、Modern_Spanish_CI_AI |
蒙古语 |
Mongolian_CS_AS |
Mongolian_CI_AS、Mongolian_CI_AI |
波兰语 |
Polish_CS_AS |
Polish_CI_AS、Polish_CI_AI |
泰语 |
Thai_CS_AS |
Thai_CI_AS、Thai_CI_AI |
Traditional_Spanish |
Traditional_Spanish_CS_AS |
Traditional_Spanish_CI_AS、Traditional_Spanish_CI_AI |
土耳其语 |
Turkish_CS_AS |
Turkish_CI_AS、Turkish_CI_AI |
乌克兰语 |
Ukranian_CS_AS |
Ukranian_CI_AS、Ukranian_CI_AI |
越南语 |
Vietnamese_CS_AS |
Vietnamese_CI_AS、Vietnamese_CI_AI |