Informazioni sulle regole di confronto in Babelfish per Aurora PostgreSQL. - 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à.

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 (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 predefinito è 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 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 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 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:

  • bbf_unicode_cp1250_ci_ai

  • bbf_unicode_cp1250_cs_ai

  • bbf_unicode_cp1257_ci_ai

  • bbf_unicode_cp1257_cs_ai

  • bbf_unicode_cp1_ci_ai

  • bbf_unicode_cp1_cs_ai

  • estonian_ci_ai

  • finnish_swedish_ci_ai

  • french_ci_ai

  • latin1_general_ci_ai

  • latin1_general_cs_ai

  • modern_spanish_ci_ai

  • polish_ci_ai

  • sql_latin1_general_cp1_ci_ai

  • sql_latin1_general_cp1_cs_ai

  • traditional_spanish_ci_ai

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

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

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

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.