Babelfish 支援的定序 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Babelfish 支援的定序

當您使用 Babel 魚建立 Aurora Postgre SQL 資料庫叢集時,您可以選擇資料的定序規則。定序可指定排序順序,及以人類書寫語言產生文字或字元的位元模式。定序中包含規則,可用於比較一組所給定位元模式的資料。定序與當地語系化相關。不同的地區設定會影響字元對應、排序順序等。定序屬性會反映在各種定序的名稱中。如需有關這些屬性的詳細資訊,請參閱 Babelfish collation attributes table

巴貝魚將SQL服務器定序映射到巴貝爾魚提供的可比較定序。Babelfish 預先定義支援文化差異性字串比較和排序順序的 Unicode 定序。Babelfish 還提供了一種將SQL服務器數據庫中的定序轉換為最接近匹配的 Babelfish 排序規則的方法。針對不同語言和區域,已提供地區設定專用的定序。

某些定序指定對應於用戶端編碼的字碼頁。Babelfish 根據每個輸出資料欄的定序,自動將伺服器編碼轉化為用戶端編碼。

Babelfish 支援 Babelfish supported collations table 中所列的定序。巴貝魚將SQL服務器定序映射到巴貝爾魚提供的可比較定序。

巴貝魚使用國際組件 153.80 版本的 Unicode () ICU 排序規則庫。如需有關定ICU序的詳細資訊,請參閱文件中的ICU定序。若要進一步了解 Postgre SQL 和定序,請參閱 Postgre 文件中的定序 Support。SQL

可控制定序和地區設定的資料庫叢集參數

以下參數會影響定序行為。

babelfishpg_tsql.default_locale

此參數指定該定序使用的預設地區設定。此參數用於與 Babelfish collation attributes table 中所列的屬性結合,以自訂特定語言和區域的定序。此參數的預設值為 en-US

預設地區設定會套用至所有以 "BBF" 開頭的 Babelfish 定序名稱,以及對應至 Babelfish 定序的所有SQL伺服器定序。在現有 Babelfish 資料庫叢集上變更此參數的設定,並不會影響現有定序的地區設定。如需定序清單,請參閱 Babelfish supported collations table

babelfishpg_tsql.server_collation_name

此參數指定伺服器 (Aurora Postgre SQL 資料庫叢集執行個體) 和資料庫的預設定序。預設值為 sql_latin1_general_cp1_ci_as。必須是定server_collation_nameCI_AS序,因為在 T-中SQL,伺服器定序會決定識別碼的比較方式。

當您建立 Babelfish 資料庫叢集時,請從可選取清單中選擇 Collation name (定序名稱)。這些包括 Babelfish supported collations table 中所列的定序。建立 Babelfish 資料庫之後,請勿修改 server_collation_name

您在建立 Aurora Postgre SQL 資料庫叢集時選擇的設定,會儲存在與這些參數的叢集關聯的資料庫叢集參數群組中,並設定其定序行為。

確定性和非確定性定序與 Babelfish

Babelfish 支援確定性和非確定性定序:

  • 確定性定序會將位元組序列相同的字元評估為相等。這表示 xX 在確定性定序中不相等。確定性定序區分大小寫 (CS) 和區分重音 (AS)。

  • 非確定性定序不要求完全相符。非確定性定序將 xX 評估為相同。非確定性定序不區分大小寫 (CI) 或重音不敏感 (AI),或兩者兼而有之。

在下表中,您可以找到使用非確定性定序SQL時,Babelfish 和 Postgre 之間的一些行為差異。

Babelfish 後備 SQL

支援 CI_AS 定序的LIKE子句。

不支援非決定性定序的LIKE子句。

僅支援以下來自巴貝魚 4.2.0 版本的 AI 定序的LIKE子句:

  • 俄羅斯聯邦公司 _ 中國

  • 俄羅斯聯邦公司 _ 人工智能

  • 俄羅斯聯邦電子商務中心

  • 俄羅斯聯邦電子商務中心

  • BBF _ 尤尼科德 _ 中国人民共和国

  • 俄羅斯聯邦公司 _cp1_Ai

  • 愛沙尼亞 _ 愛沙尼亞

  • 芬兰·瑞典 _ 西艾

  • 法國人

  • 拉丁 1-通用 _ 西艾

  • 拉丁 1-通用 _ 西班牙

  • 現代西班牙語

  • 波蘭人

  • 正方形拉丁 1 _ 通用 _cp1_ci_ai

  • 正方形拉丁 1 _ 通用 _cp1_cs_ai

  • 西班牙傳統西班牙文

不支援非決定性定序的LIKE子句。

如需 Babelfish 與SQL伺服器和 Postgre SQL 相比的其他限制和行為差異清單,請參閱。定序限制與行為差異

Babelfish 和 SQL Server 遵循描述定序屬性的定序命名慣例,如下表所示。

屬性 描述

AI

不區分重音。

AS

區分重音。

BIN2

BIN2請求數據按代碼點順序進行排序。對於 UTF -8,UTF-16 和 UCS -2 編碼,Unicode 字碼點順序與字符順序相同。字碼指標順序是快速的確定性定序。

CIS

不區分大小寫。

CS

區分大小寫。

PREF

若要在小寫字母之前排序大寫字母,請使用PREF定序。如果比較時不區分大小寫,且沒有其他差別,則大寫字母排在小寫字母前置。物件ICU庫支援大寫偏好設定colCaseFirst=upper,但不支援 CI_AS 定序。

PREF只能套用至CS_AS確定性定序。

Babelfish 支援的定序

使用下列定序作為伺服器定序或物件定序。

定序 ID 備註

bbf_unicode_general_ci_as

支持不區分大小寫的LIKE比較和運算符。

bbf_unicode_cp1_ci_as

非確定性定序也稱為. CP1252

俄羅斯聯盟 _ 中國 CP125

在採用拉丁字母的中歐和東歐語言中用於表示文字的非確定性定序

俄羅斯聯盟 _ 俄羅斯聯邦 CP1251

採用斯拉夫字母的語言所用的非確定性定序

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

支援法文的非確定性定序。

japanese_ci_as

支援日文的非確定性定序。Babelfish 2.1.0 及更高版本支援。

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

Arabic_CS_AS

Arabic_CI_AS

阿拉伯語

阿拉伯文字

BBF_ 尤尼科德 _ CP1256

BBF_ 尤尼科德 _ CP1256 上一篇

BBF_ 唯科德 _ 中國CP1256人工智能

BBF_ 唯科德 _ CP1256 人工智能

二進位

拉丁 1 _ 通用 _ 彬 2

BBF_ 唯科德 _ BIN2

使用拉丁文字集的中歐和東歐語言

BBF_ 唯科德 _ CP125

BBF_ 尤尼科德 _ CP125 上一篇

BBF_ 唯科德 _ 中國CP125人工智能

BBF_ 尤尼科德 _ CP125 人工智能

Chinese

中文 _ 中文 PRC

中文 _ 中國 PRC

中國 _ 中國 _ 中國人PRC工智能

Cyrillic_General

Cyrillic_General_CS_AS

西里尔通用 _CI_AS

西里尔通用 _ 西里尔

西里尔文

BBF_ 尤尼科德 _ CP1251

BBF_ 尤尼科德 _ CP1251 上一篇

BBF_ 唯科德 _ 中國CP1251人工智能

BBF_ 唯科德 _ CP1251 人工智能

Estonian

Estonian_CS_AS

爱沙尼亚

愛沙尼亞 _ 西艾

愛沙尼亞文、拉脫維亞文和立陶宛文

BBF_ 尤尼科德 _ CP1257

BBF_ 尤尼科德 _ CP1257 上一篇

BBF_ 唯科德 _ 中國CP1257人工智能

BBF_ 唯科德 _ CP1257 人工智能

Finnish_Swedish

Finnish_Swedish_CS_AS

Finnish_Swedish_CI_AS

芬蘭 _ 瑞典 _ 西艾

French

French_CS_AS

French_CI_AS

法國人

Greek

Greek_CS_AS

希腊文 (西阿斯)

希臘西艾

Hebrew

BBF_ 尤尼科德 _ CP1255

BBF_ 尤尼科德 _ CP1255 上一篇

Hebrew_CS_AS

BBF_ 唯科德 _ 中國CP1255人工智能

BBF_ 唯科德 _ CP1255 人工智能

Hebrew_CI_AS

希伯鲁 (西安)

日文 (Babelfish 2.1.0 及更新版本)

Japanese_CS_AS

日本人

Japanese_CI_AS

Korean_Wamsung

Korean_Wamsung_CS_AS

韓國 _ 萬星 _ 西阿斯

韓國 _ 萬星 _ 西安 _ 艾

字碼頁的拉丁字元 CP1252

拉丁 1_ 通用 _ 正如

BBF_ 联合国通用 _ CS_

BBF_ 联合国通用 _ 上一级 _ CS_AS

BBF_ 尤尼科德 _ CP1 上一篇

BBF_ 尤尼科德 _ CP1

latin1_general_ci_as

拉丁 1-通用 _ 西艾

拉丁 1-通用 _ 西班牙

BBF_ 伊尼科德 _ 通用 _ 人工智能

BBF_ 意大利通用 _ 企業社會工智能

BBF_ 唯科德 _ 中國CP1人工智能

BBF_ 唯科德 _ CP1 人工智能

现代希腊语

BBF_ 尤尼科德 _ CP1253

BBF_ 尤尼科德 _ CP1253 上一篇

BBF_ 唯科德 _ 中國CP1253人工智能

BBF_ 唯科德 _ CP1253 人工智能

Modern_Spanish

Modern_Spanish_CS_AS

Modern_Spanish_CI_AS

現代西班牙語西班牙語

Mongolian

Mongolian_CS_AS

蒙古西阿斯

蒙古西艾

Polish

Polish_CS_AS

Polish_CI_AS

波兰西亚

Thai

BBF_ 尤尼科德 _ CP874

BBF_ 尤尼科德 _ CP874 上一篇

Thai_CS_AS

BBF_ 唯科德 _ 中國CP874人工智能

BBF_ 唯科德 _ CP874 人工智能

Thai_CI_AS、Thai_CI_AI

Traditional_Spanish

Traditional_Spanish_CS_AS

西班牙傳統西班牙文

傳統西班牙文西班牙文

Turkish

BBF_ 尤尼科德 _ CP1254

BBF_ 尤尼科德 _ CP1254 上一篇

Turkish_CS_AS

BBF_ 唯科德 _ 中國CP1254人工智能

BBF_ 唯科德 _ CP1254 人工智能

Turkish_CI_AS、Turkish_CI_AI

Ukranian

Ukranian_CS_AS

烏克蘭西亞 _ 阿斯

烏克蘭 _ 西亞人工智能

越南文

BBF_ 尤尼科德 _ CP1258

BBF_ 尤尼科德 _ CP1258 上一篇

Vietnamese_CS_AS

BBF_ 唯科德 _ 中國CP1258人工智能

BBF_ 唯科德 _ CP1258 人工智能

越南语加拿大

越南人工智能

Babelfish 中的預設定序

早期,可定序資料類型的預設定序是 pg_catalog.default。資料類型和依賴這些資料類型的物件遵循區分大小寫的定序。此情況可能會影響不區分大小寫定序的資料集的 T-SQL 物件。從 Babelfish 2.3.0 開始,可整理資料類型的預設定序 (除了TEXT和NTEXT) 與參數中的定序規則相同。babelfishpg_tsql.server_collation_name當您升級至 Babelfish 2.3.0 時,系統會在建立資料庫叢集時自動挑選預設定序,這不會產生任何可見的影響。