本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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定序
可控制定序和地區設定的資料庫叢集參數
以下參數會影響定序行為。
- 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_name
CI_AS
序,因為在 T-中SQL,伺服器定序會決定識別碼的比較方式。當您建立 Babelfish 資料庫叢集時,請從可選取清單中選擇 Collation name (定序名稱)。這些包括 Babelfish supported collations table 中所列的定序。建立 Babelfish 資料庫之後,請勿修改
server_collation_name
。
您在建立 Aurora Postgre SQL 資料庫叢集時選擇的設定,會儲存在與這些參數的叢集關聯的資料庫叢集參數群組中,並設定其定序行為。
確定性和非確定性定序與 Babelfish
Babelfish 支援確定性和非確定性定序:
確定性定序會將位元組序列相同的字元評估為相等。這表示
x
和X
在確定性定序中不相等。確定性定序區分大小寫 (CS) 和區分重音 (AS)。非確定性定序不要求完全相符。非確定性定序將
x
和X
評估為相同。非確定性定序不區分大小寫 (CI) 或重音不敏感 (AI),或兩者兼而有之。
在下表中,您可以找到使用非確定性定序SQL時,Babelfish 和 Postgre 之間的一些行為差異。
Babelfish | 後備 SQL |
---|---|
支援 CI_AS 定序的LIKE子句。 |
不支援非決定性定序的LIKE子句。 |
僅支援以下來自巴貝魚 4.2.0 版本的 AI 定序的LIKE子句:
|
不支援非決定性定序的LIKE子句。 |
如需 Babelfish 與SQL伺服器和 Postgre SQL 相比的其他限制和行為差異清單,請參閱。定序限制與行為差異
Babelfish 和 SQL Server 遵循描述定序屬性的定序命名慣例,如下表所示。
屬性 | 描述 |
---|---|
AI |
不區分重音。 |
AS |
區分重音。 |
BIN2 |
BIN2請求數據按代碼點順序進行排序。對於 UTF -8,UTF-16 和 UCS -2 編碼,Unicode 字碼點順序與字符順序相同。字碼指標順序是快速的確定性定序。 |
CIS |
不區分大小寫。 |
CS |
區分大小寫。 |
PREF |
若要在小寫字母之前排序大寫字母,請使用PREF定序。如果比較時不區分大小寫,且沒有其他差別,則大寫字母排在小寫字母前置。物件ICU庫支援大寫偏好設定 PREF只能套用至 |
Babelfish 支援的定序
使用下列定序作為伺服器定序或物件定序。
定序 ID | 備註 |
---|---|
bbf_unicode_general_ci_as |
支持不區分大小寫的LIKE比較和運算符。 |
bbf_unicode_cp1_ci_as |
非確定性定序也稱 |
俄羅斯聯盟 _ 中國 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 時,系統會在建立資料庫叢集時自動挑選預設定序,這不會產生任何可見的影響。