Regole di confronto supportate da Babelfish - Amazon Aurora

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à.

Regole di confronto supportate da Babelfish

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 (Regola di confronto) nella documentazione di ICU. Per ulteriori informazioni su PostgreSQL e regola di confronto, consulta Collation Support (Supporto per regole di confronto) nella documentazione di PostgreSQL.

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 di default è sql_latin1_general_cp1_ci_as. Il server_collation_name deve essere una raccolta CI_AS perché 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_name dopo 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 e 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 x e X non 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 x e X come uguale. Le raccolte non deterministiche sono senza distinzione tra maiuscole e minuscole (CI) e insensibile all'accento (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.

Babelfish non supporta la clausola LIKE sulle regole di confronto IA.

Le operazioni di corrispondenza di modelli su regole di confronto non deterministiche non sono supportate.

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 colCaseFirst=upper, ma non per le raccolte CI_AS.

La PREF può essere applicata solo a raccolte deterministiche CS_AS.

Regole di confronto supportate da 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 nota anche come CP1252.

bbf_unicode_CP1250_ci_as

Raccolta non deterministica utilizzata per rappresentare testi nelle lingue dell'Europa centrale e dell'Europa orientale che utilizzano lo script latino.

bbf_unicode_CP1251_ci_as

Raccolta non deterministica per le lingue che utilizzano lo script cirillico.

bbf_unicode_cp1253_ci_as

Raccolta non deterministica usata per rappresentare il greco moderno.

bbf_unicode_cp1254_ci_as

Raccolta non deterministica che supporta il turco.

bbf_unicode_cp1255_ci_as

Raccolta non deterministica che supporta l'ebraico.

bbf_unicode_cp1256_ci_as

Raccolta non deterministica utilizzata per scrivere lingue che utilizzano lo script arabo.

bbf_unicode_cp1257_ci_as

Raccolta non deterministica utilizzata per supportare le lingue estone, lettone e lituano.

bbf_unicode_cp1258_ci_as

Raccolta non deterministica utilizzata per scrivere caratteri vietnamiti.

bbf_unicode_cp874_ci_as

Raccolta non deterministica utilizzata per scrivere caratteri thailandesi.

sql_latin1_general_cp1250_ci_as

Codifica di caratteri a byte singolo non deterministico usata per rappresentare caratteri latini.

sql_latin1_general_cp1251_ci_as

Raccolta non deterministica che supporta i caratteri latini.

SQL_Latin1_General_CP1_CI_AS (default)

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1253_ci_as

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1254_ci_as

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1255_ci_as

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1256_ci_as

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1257_ci_as

Raccolta non deterministica che supporta i caratteri latini.

sql_latin1_general_cp1258_ci_as

Raccolta non deterministica che supporta i caratteri latini.

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

Cinese

Chinese_cs_as

Chinese_ci_as, cinese_ci_ai

Cyrillic_General

Cyrillic_general_cs_as

Cyrillic_general_CI_AS, Cyrillic_general_CI_AI

Estone

Estonian_cs_as

Estonian_CI_AS, Estonian_CI_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_CS_AS, Greek_CI_AI

Ebraico

Hebrew_CS_AS

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

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

Thai_CS_AS

Thai_CI_AS, Thai_CI_AI

Traditional_Spanish

Traditional_Spanish_CS_AS

Traditional_Spanish_CI_AS, Traditional_Spanish_CI_AI

Turco

Turkish_CS_AS

Turkish_CI_AS, Turkish_CI_AI

Ucraino

Ukranian_CS_AS

Ukranian_CI_AS, Ukranian_CI_AI

Vietnamita

Vietnamese_CS_AS

Vietnamese_CI_AS, Vietnamese_CI_AI

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.