Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Informazioni sulle regole di confronto in Babelfish per Aurora PostgreSQL.
Quando crei un cluster database Aurora PostgreSQL, scegli una regola di confronto per i dati. Una regola di confronto specifica i modelli di ordinamento e bit che producono il testo o i caratteri in una determinata lingua scritta. Una regola di confronto include regole che confrontano i dati per un determinato set di modelli di bit. La regola di confronto è correlata alla localizzazione. Le diverse impostazioni locali influenzano la mappatura dei caratteri, l'ordinamento e simili. Gli attributi della regola di confronto si riflettono nei nomi di varie regole di confronto. Per ulteriori informazioni sugli attributi, consulta Babelfish collation attributes table.
Babelfish mappa le raccolte di SQL Server a raccolte comparabili fornite da Babelfish. Babelfish predefinisce le raccolte Unicode con raccolte di stringhe culturalmente sensibili e ordini di ordinamento. Babelfish fornisce anche un modo per tradurre le raccolte nel database di SQL Server nella raccolta Babelfish più vicina. Vengono fornite raccolte specifice per le diverse lingue e regioni.
Alcune raccolte specificano una pagina codice corrispondente a una codifica lato client. Babelfish traduce automaticamente dalla codifica del server alla codifica client a seconda della raccolta di ciascuna colonna di output.
Babelfish supporta le regole di confronto elencate nella Babelfish supported collations table. Babelfish mappa le raccolte di SQL Server a raccolte comparabili fornite da Babelfish.
Babelfish utilizza la versione 153.80 della libreria delle regole di confronto International Components for Unicode (ICU). Per ulteriori informazioni sulle regole di confronto ICU, consulta Collation
Argomenti
Parametri del cluster database che controllano regole di confronto e impostazioni locali
Regole di confronto deterministiche e non deterministiche in Babelfish
Regole di confronto supportate a livello di database in Babelfish
Comportamento della regola di confronto predefinita in Babelfish
Limitazioni di regole di confronto e differenze di comportamento
Parametri del cluster database che controllano regole di confronto e impostazioni locali
I seguenti parametri influiscono sul comportamento della regola di confronto.
- babelfishpg_tsql.default_locale
Questo parametro specifica le impostazioni locali predefinite utilizzate dalla regola di confronto. Questo parametro viene utilizzato in combinazione con gli attributi elencati nella Babelfish collation attributes table per personalizzare le regole di confronto per una lingua e una regione specifici. Il valore predefinito per questo parametro è
en-US.Le impostazioni locali predefinite si applicano a tutti i nomi delle regole di confronto Babelfish che iniziano con "BBF" e a tutte le regole di confronto SQL Server mappate alle regole di confronto Babelfish. La modifica dell'impostazione di questo parametro su un cluster database Babelfish esistente non influenza le impostazioni locali delle regole di confronto esistenti. Per l'elenco delle regole di confronto, consulta Babelfish supported collations table.
- babelfishpg_tsql.server_collation_name
Questo parametro specifica la regola di confronto predefinita per il server (istanza del cluster database Aurora PostgreSQL) e il database. Il valore predefinito è
sql_latin1_general_cp1_ci_as. Ilserver_collation_namedeve essere una raccoltaCI_ASperché in T-SQL, la raccolta determina il modo in cui vengono confrontati gli identificatori.Quando crei il tuo cluster database Babelfish, scegli il Collation name (Nome regola di confronto) dall'elenco selezionabile. Questi includono le regole di confronto elencate in Babelfish supported collations table. Non modificare il
server_collation_namedopo la creazione del database Babelfish.
Le impostazioni scelte durante la creazione del cluster database Babelfish per Aurora PostgreSQL vengono memorizzate nel gruppo di parametri del cluster database associato al cluster per questi parametri e impostano il comportamento della regola di confronto.
Regole di confronto deterministiche e non deterministiche in Babelfish
Babelfish supporta le raccolte deterministiche e non deterministiche:
Una regola di confronto deterministica valuta come uguali i caratteri con sequenze di byte identiche. Ciò significa che
xeXnon sono uguali in una regola di confronto deterministica. Le regole di confronto deterministiche possono essere con distinzione maiuscole/minuscole (CS) e con distinzione caratteri accentati/non accentati (AS).Una regola di confronto non deterministica non richiede una corrispondenza identica. Una raccolta non deterministica valuta
xeXcome uguale. Le regole di confronto non deterministiche sono senza distinzione tra maiuscole e minuscole (CI) e senza distinzione tra caratteri accentati e non accentati (AI).
Nella tabella seguente sono riportate alcune differenze di comportamento tra Babelfish e PostgreSQL quando si utilizzano le regole di confronto non deterministiche.
| Babelfish | PostgreSQL |
|---|---|
|
Supporta la clausola LIKE per le regole di confronto CI_AS. |
Non supporta la clausola LIKE sulle regole di confronto non deterministiche. |
|
Supporta la clausola LIKE solo per le seguenti regole di confronto AI di Babelfish versione 4.2.0:
|
Non supporta la clausola LIKE sulle regole di confronto non deterministiche. |
Per un elenco di altre limitazioni e differenze di comportamento per Babelfish rispetto a SQL Server e PostgreSQL, consulta Limitazioni di regole di confronto e differenze di comportamento.
Babelfish e SQL Server seguono una convenzione di denominazione per le raccolte che descrivono gli attributi di raccolta, come illustrato nella tabella seguente.
| Attributo | Descrizione |
|---|---|
Intelligenza artificiale |
Insensibile all'accento. |
AS |
sensibile agli accenti. |
BIN2 |
BIN2 richiede che i dati siano ordinati in ordine di codice. L'ordine dei punti di codice Unicode è lo stesso ordine di caratteri per le codifiche UTF-8, UTF-16 e UCS-2. L'ordine dei punti di codice è una raccolta deterministica rapida. |
CI |
Senza distinzione tra maiuscole e minuscole |
CS |
Distinzione tra lettere maiuscole e minuscole |
PREF |
Per ordinare le lettere maiuscole prima delle lettere minuscole, utilizzare una raccolta PREF. Se la raccolta è priva di distinzione tra maiuscole e minuscole, la versione maiuscola di una lettera viene ordinata prima della versione minuscola, se non esiste altra distinzione. La libreria ICU supporta le preferenze maiuscole con La PREF può essere applicata solo a raccolte deterministiche |
Regole di confronto supportate a livello di database in Babelfish
Le seguenti regole di confronto sono supportate a livello di database in Babelfish:
bbf_unicode_bin2
bbf_unicode_cp1_ci_ai
bbf_unicode_cp1_ci_as
bbf_unicode_cp1250_ci_ai
bbf_unicode_cp1250_ci_as
bbf_unicode_cp1257_ci_ai
bbf_unicode_cp1257_ci_as
estonian_ci_ai
estonian_ci_as
finnish_swedish_ci_ai
finnish_swedish_ci_as
french_ci_ai
french_ci_as
latin1_general_bin2
latin1_general_ci_ai
latin1_general_ci_as
latin1_general_90_bin2
latin1_general_100_bin2
latin1_general_140_bin2
modern_spanish_ci_ai
modern_spanish_ci_as
polish_ci_ai
polish_ci_as
sql_latin1_general_cp1_ci_ai
SQL_Latin1_General_CP1_CI_AS (default)
sql_latin1_general_cp1250_ci_as
sql_latin1_general_cp1251_ci_as
sql_latin1_general_cp1257_ci_as
traditional_spanish_ci_ai
traditional_spanish_ci_as
Nota
Per utilizzare regole di confronto diverse a livello di database, è necessario che corrispondano a quelle a livello di server. Per ulteriori informazioni, consulta Regole di confronto di server e oggetti in Babelfish
Regole di confronto di server e oggetti in Babelfish
Utilizzare le raccolte seguenti come raccolta del server o come raccolta di oggetti.
| ID raccolta | Note |
|---|---|
|
bbf_unicode_general_ci_as |
Supporta il confronto tra maiuscole e minuscole e l'operatore LIKE. |
|
bbf_unicode_cp1_ci_as |
Raccolta non deterministica |
|
bbf_unicode_CP1250_ci_as |
Raccolta non deterministica |
|
bbf_unicode_CP1251_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1253_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1254_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1255_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1256_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1257_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp1258_ci_as |
Raccolta non deterministica |
|
bbf_unicode_cp874_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1250_ci_as |
Codifica di caratteri a byte singolo non deterministico |
|
sql_latin1_general_cp1251_ci_as |
Raccolta non deterministica |
|
SQL_Latin1_General_CP1_CI_AS (default) |
Raccolta non deterministica |
|
sql_latin1_general_cp1253_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1254_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1255_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1256_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1257_ci_as |
Raccolta non deterministica |
|
sql_latin1_general_cp1258_ci_as |
Raccolta non deterministica |
|
chinese_PRC_CI_AS |
Raccolta non deterministica che supporta il cinese (RPC). |
|
cyrillic_general_ci_as |
Raccolta non deterministica che supporta il cirillico. |
|
finnish_swedish_ci_as |
Raccolta non deterministica che supporta che supporta il finlandese. |
|
french_ci_as |
Raccolta non deterministica che supporta il francese. |
|
japanese_ci_as |
Regola di confronto non deterministica che supporta il giapponese. Supportata in Babelfish 2.1.0 e versioni successive. |
|
korean_wansung_ci_as |
Raccolta non deterministica che supporta il coreano (con ordinamento del dizionario). |
|
latin1_general_ci_as |
Raccolta non deterministica che supporta i caratteri latini. |
|
modern_spanish_ci_as |
Raccolta non deterministica che supporta lo spagnolo moderno. |
|
polish_ci_as |
Raccolta non deterministica che supporta il polacco. |
|
thai_ci_as |
Raccolta non deterministica che supporta il tailandese. |
|
traditional_spanish_ci_as |
Raccolta non deterministica che supporta lo spagnolo (classificazione tradizionale). |
|
turkish_ci_as |
Raccolta non deterministica che supporta il turco. |
|
ukrainian_ci_as |
Raccolta non deterministica che supporta l'ucraino. |
|
vietnamese_ci_as |
Raccolta non deterministica che supporta il vietnamita. |
È possibile utilizzare le seguenti raccolte come raccolte tra oggetti.
| Dialetto | Opzioni deterministiche | Opzioni non deterministiche |
|---|---|---|
|
Arabo |
Arabic_cs_as |
Arabic_CI_AS Arabic_CI_AI |
|
Alfabeto arabo |
BBF_Unicode_CP1256_CS_AS BBF_Unicode_Pref_CP1256_CS_AS |
BBF_Unicode_CP1256_CI_AI BBF_Unicode_CP1256_CS_AI |
|
Binario |
latin1_general_bin2 BBF_Unicode_BIN2 |
– |
|
Lingue dell’Europa centrale e dell’Europa orientale che utilizzano l’alfabeto latino |
BBF_Unicode_CP1250_CS_AS BBF_Unicode_Pref_CP1250_CS_AS |
BBF_Unicode_CP1250_CI_AI BBF_Unicode_CP1250_CS_AI |
|
Cinese |
Chinese_PRC_CS_AS |
Chinese_PRC_CI_AS Chinese_PRC_CI_AI |
|
Cyrillic_General |
Cyrillic_general_cs_as |
Cyrillic_General_CI_AS Cyrillic_General_CI_AI |
|
Alfabeto cirillico |
BBF_Unicode_CP1251_CS_AS BBF_Unicode_Pref_CP1251_CS_AS |
BBF_Unicode_CP1251_CI_AI BBF_Unicode_CP1251_CS_AI |
|
Estone |
Estonian_cs_as |
Estonian_CI_AS Estonian_CI_AI |
|
Estone, lettone e lituano |
BBF_Unicode_CP1257_CS_AS BBF_Unicode_Pref_CP1257_CS_AS |
BBF_Unicode_CP1257_CI_AI BBF_Unicode_CP1257_CS_AI |
|
Finnish_Swedish |
Finnish_Swedish_CS_AS |
Finnish_Swedish_CI_AS Finnish_Swedish_CI_AI |
|
Francese |
French_CS_AS |
French_CI_AS French_CI_AI |
|
Greco |
Greek_CS_AS |
Greek_CI_AS Greek_CI_AI |
|
Ebraico |
BBF_Unicode_CP1255_CS_AS BBF_Unicode_Pref_CP1255_CS_AS Hebrew_CS_AS |
BBF_Unicode_CP1255_CI_AI BBF_Unicode_CP1255_CS_AI Hebrew_CI_AS Hebrew_CI_AI |
|
Giapponese (Babelfish 2.1.0 e versioni successive) |
Japanese_CS_AS |
Japanese_CI_AI Japanese_CI_AS |
|
Korean_Wamsung |
Korean_Wamsung_CS_AS |
Korean_Wamsung_CI_AS Korean_Wamsung_CI_AI |
|
Caratteri latini per la tabella codici CP1252 |
latin1_general_cs_as BBF_Unicode_General_CS_AS BBF_Unicode_General_Pref_CS_AS BBF_Unicode_Pref_CP1_CS_AS BBF_Unicode_CP1_CS_AS |
latin1_general_ci_as latin1_general_ci_ai latin1_general_cs_ai BBF_Unicode_General_CI_AI BBF_Unicode_General_CS_AI BBF_Unicode_CP1_CI_AI BBF_Unicode_CP1_CS_AI |
|
Greco moderno |
BBF_Unicode_CP1253_CS_AS BBF_Unicode_Pref_CP1253_CS_AS |
BBF_Unicode_CP1253_CI_AI BBF_Unicode_CP1253_CS_AI |
|
Modern_Spanish |
Modern_Spanish_CS_AS |
Modern_Spanish_CI_AS Modern_Spanish_CI_AI |
|
Mongolo |
Mongolian_CS_AS |
Mongolian_CI_AS Mongolian_CI_AI |
|
Polacco |
Polish_CS_AS |
Polish_CI_AS Polish_CI_AI |
|
Thai |
BBF_Unicode_CP874_CS_AS BBF_Unicode_Pref_CP874_CS_AS Thai_CS_AS |
BBF_Unicode_CP874_CI_AI BBF_Unicode_CP874_CS_AI Thai_CI_AS, Thai_CI_AI |
|
Traditional_Spanish |
Traditional_Spanish_CS_AS |
Traditional_Spanish_CI_AS Traditional_Spanish_CI_AI |
|
Turco |
BBF_Unicode_CP1254_CS_AS BBF_Unicode_Pref_CP1254_CS_AS Turkish_CS_AS |
BBF_Unicode_CP1254_CI_AI BBF_Unicode_CP1254_CS_AI Turkish_CI_AS, Turkish_CI_AI |
|
Ucraino |
Ukranian_CS_AS |
Ukranian_CI_AS Ukranian_CI_AI |
|
Vietnamita |
BBF_Unicode_CP1258_CS_AS BBF_Unicode_Pref_CP1258_CS_AS Vietnamese_CS_AS |
BBF_Unicode_CP1258_CI_AI BBF_Unicode_CP1258_CS_AI Vietnamese_CI_AS Vietnamese_CI_AI |
Comportamento della regola di confronto predefinita in Babelfish
In precedenza, la regola di confronto predefinita dei tipi di dati di regola di confronto era pg_catalog.default. I tipi di dati e gli oggetti che dipendono da questi tipi di dati seguono la regola di confronto con distinzione tra maiuscole e minuscole. Questa condizione ha un potenziale impatto sugli oggetti T-SQL del set di dati con la regola di confronto senza distinzione tra maiuscole e minuscole. A partire da Babelfish 2.3.0, la regola di confronto predefinita per i tipi di dati di regola di confronto (eccetto TEXT e NTEXT) è uguale alla regola di confronto del parametro babelfishpg_tsql.server_collation_name. Quando esegui l'aggiornamento a Babelfish 2.3.0, la regola di confronto predefinita viene selezionata automaticamente al momento della creazione del cluster database, senza alcun impatto visibile.