Windows_collation_name (Transact-SQL)
Si applica a: SQL Server Azure SQL Database
Istanza gestita di SQL di Azure
Azure Synapse Analytics Analytics
Platform System (PDW)
SQL Endpoint in Microsoft FabricWarehouse in Microsoft Fabric
Specifica il nome delle regole di confronto di Windows nella clausola COLLATE in SQL Server. Il nome delle regole di confronto Windows è composto dalla designazione delle regole di confronto e dagli stili di confronto.
Convenzioni della sintassi Transact-SQL
Sintassi
<Windows_collation_name> :: =
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> :: =
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.
Argomenti
CollationDesignator
Specifica le regole alla base delle regole di confronto Windows, ovvero:
- Le regole di ordinamento e confronto applicate quando si specifica l'ordinamento del dizionario. Le regole di ordinamento si basano sull'alfabeto o sulla lingua.
- La tabella codici utilizzata per memorizzare i dati varchar.
Ad esempio:
- Latin1_General o francese: per entrambe le lingue viene utilizzata la tabella codici 1252.
- Turco: viene utilizzata la tabella codici 1254.
CaseSensitivity
CI specifica che la distinzione tra maiuscole e minuscole non è rilevante, mentre CS indica che la differenza tra maiuscole e minuscole è rilevante.
AccentSensitivity
AI specifica che la distinzione tra caratteri accentati e non accentati non è rilevante, mentre AS indica che la distinzione tra caratteri accentati e non accentati è rilevante.
KanatypeSensitive
Omettendo questa opzione si specifica che la distinzione Kana non è rilevante. KS specifica che la distinzione Kana è rilevante.
WidthSensitivity
Omettendo questa opzione si specifica che la distinzione di larghezza non è rilevante. WS specifica che la distinzione di larghezza è rilevante.
VariationSelectorSensitivity
Si applica a: SQL Server a partire da 2017 (14.x)
Omettendo questa opzione si specifica che il selettore di variazione non è rilevante, VSS specifica che il selettore di variazione è rilevante.
UTF8
Si applica a: SQL Server a partire da 2019 (15.x)
Specifica la codifica UTF-8 da usare per i tipi di dati idonei. Per altre informazioni, vedere Collation and Unicode Support.
BIN
Specifica che deve essere usato il tipo di ordinamento binario compatibile con le versioni precedenti.
BIN2
Specifica l'ordinamento binario che utilizza la semantica del confronto dei punti di codice.
Commenti
A seconda della versione delle regole di confronto, per alcuni punti di codice potrebbero non essere stati definiti pesi di ordinamento e/o il mapping tra caratteri maiuscoli e minuscoli. Ad esempio, confrontare l'output della funzione LOWER
quando viene assegnato lo stesso carattere, ma con versioni diverse delle stesse regole di confronto:
SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];
-- Ǹ ǹ
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
-- Ǹ ǹ
La prima istruzione mostra sia la forma maiuscola che minuscola di questo carattere nelle regole di confronto precedenti perché le regole di confronto non influenzano la disponibilità dei caratteri quando usano dati Unicode. La seconda istruzione, invece, mostra che viene restituito un carattere maiuscolo quando le regole di confronto sono Latin1_General_CI_AS, perché al loro interno non è definito un mapping ai caratteri minuscoli in questo punto del codice.
Con alcune lingue può essere fondamentale evitare le regole di confronto precedenti. Ad esempio, questo vale per il telugu.
In alcuni casi, le regole di confronto di Windows e quelle di SQL Server possono generare piani di query diversi per la stessa query.
Esempi
Di seguito sono riportati alcuni esempi di nomi delle regole di confronto di Windows:
Latin1_General_100_CI_AS
Le regole di confronto utilizzano le regole di ordinamento del dizionario Latin1 General ed eseguono il mapping alla tabella codici 1252. Sono regole di confronto con versione _100 per cui la distinzione tra maiuscole e minuscole non è rilevante mentre è rilevante la distinzione tra caratteri accentati e non accentati.
Estonian_CS_AS
Le regole di confronto utilizzano le regole di ordinamento del dizionario estone ed eseguono il mapping alla tabella codici 1257. Sono regole di confronto con versione _80 (indicata implicitamente dalla mancanza del numero di versione nel nome) per cui la distinzione tra maiuscole e minuscole è rilevante la distinzione tra caratteri accentati e non accentati è rilevante.
Japanese_Bushu_Kakusu_140_BIN2
Le regole di confronto utilizzano le regole di ordinamento del punto di codice binario ed eseguono il mapping alla tabella codici 932. Sono regole di confronto con versione _140 e le regole di ordinamento del dizionario Bushu Kakusu giapponese vengono ignorate.
Regole di confronto di Windows
Per elencare le regole di confronto di Windows supportate dall'istanza di SQL Server, eseguire la query seguente.
SELECT * FROM sys.fn_helpcollations() WHERE [name] NOT LIKE N'SQL%';
Nella tabella seguente vengono elencate tutte le regole di confronto di Windows supportate in SQL Server.
Impostazioni locali di Windows | Regole di confronto versione 100 | Regole di confronto 90 |
---|---|---|
Alsaziano (Francia) | Latin1_General_100_ | Non disponibile |
Amarico (Etiopia) | Latin1_General_100_ | Non disponibile |
Armeno (Armenia) | Cyrillic_General_100_ | Non disponibile |
Assamese (India) | Assamese_100_ 1 | Non disponibile |
Bengalese (Bangladesh) | Bengali_100_1 | Non disponibile |
Baschiro (Russia) | Bashkir_100_ | Non disponibile |
Basco (Basco) | Latin1_General_100_ | Non disponibile |
Bengalese (India) | Bengali_100_1 | Non disponibile |
Bosniaco (Bosnia ed Erzegovina, alfabeto cirillico) | Bosnian_Cyrillic_100_ | Non disponibile |
Bosniaco (Bosnia ed Erzegovina, alfabeto latino) | Bosnian_Latin_100_ | Non disponibile |
Bretone (Francia) | Breton_100_ | Non disponibile |
Cinese (RAS di Macao) | Chinese_Traditional_Pinyin_100_ | Non disponibile |
Cinese (RAS di Macao) | Chinese_Traditional_Stroke_Order_100_ | Non disponibile |
Cinese (Singapore) | Chinese_Simplified_Stroke_Order_100_ | Non disponibile |
Corso (Francia) | Corsican_100_ | Non disponibile |
Croato (Bosnia ed Erzegovina, alfabeto latino) | Croatian_100_ | Non disponibile |
Dari (Afghanistan) | Dari_100_ | Non disponibile |
Inglese (India) | Latin1_General_100_ | Non disponibile |
Inglese (Malaysia) | Latin1_General_100_ | Non disponibile |
Inglese (Singapore) | Latin1_General_100_ | Non disponibile |
Filippino (Filippine) | Latin1_General_100_ | Non disponibile |
Frisone (Paesi Bassi) | Frisian_100_ | Non disponibile |
Georgiano (Georgia) | Cyrillic_General_100_ | Non disponibile |
Groenlandese (Groenlandia) | Danish_Greenlandic_100_ | Non disponibile |
Gujarati (India) | Indic_General_100_1 | Indic_General_90_ |
Hausa (Nigeria, alfabeto latino) | Latin1_General_100_ | Non disponibile |
Hindi (India) | Indic_General_100_1 | Indic_General_90_ |
Igbo (Nigeria) | Latin1_General_100_ | Non disponibile |
Inuktitut (Canada, alfabeto latino) | Latin1_General_100_ | Non disponibile |
Inuktitut (alfabeto sillabico) Canada | Latin1_General_100_ | Non disponibile |
Irlandese (Irlanda) | Latin1_General_100_ | Non disponibile |
Giapponese (Giappone XJIS) | Japanese_XJIS_100_ | Japanese_90_, Japanese_ |
Giapponese (Giappone) | Japanese_Bushu_Kakusu_100_ | Non disponibile |
Kannada (India) | Indic_General_100_1 | Indic_General_90_ |
Khmer (Cambogia) | Khmer_100_1 | Non disponibile |
Quiché (Guatemala) | Modern_Spanish_100_ | Non disponibile |
Kinyarwanda (Ruanda) | Latin1_General_100_ | Non disponibile |
Konkani (India) | Indic_General_100_1 | Indic_General_90_ |
Lao (Repubblica popolare democratica del Laos) | Lao_100_1 | Non disponibile |
Basso sorabo (Germania) | Latin1_General_100_ | Non disponibile |
Lussemburghese (Lussemburgo) | Latin1_General_100_ | Non disponibile |
Malayalam (India) | Indic_General_100_1 | Non disponibile |
Maltese (Malta) | Maltese_100_ | Non disponibile |
Maori (Nuova Zelanda) | Maori_100_ | Non disponibile |
Mapudungun (Cile) | Mapudungan_100_ | Non disponibile |
Marathi (India) | Indic_General_100_1 | Indic_General_90_ |
Mohawk (Canada) | Mohawk_100_ | Non disponibile |
Mongolo (RPC) | Cyrillic_General_100_ | Non disponibile |
Nepalese (Nepal) | Nepali_100_1 | Non disponibile |
Norvegese (Bokmål, Norvegia) | Norwegian_100_ | Non disponibile |
Norvegese (Nynorsk, Norvegia) | Norwegian_100_ | Non disponibile |
Occitano (Francia) | French_100_ | Non disponibile |
Odia (India) | Indic_General_100_1 | Non disponibile |
Pashto (Afghanistan) | Pashto_100_1 | Non disponibile |
Persiano (Iran) | Persian_100_ | Non disponibile |
Punjabi (India) | Indic_General_100_1 | Indic_General_90_ |
Quechua (Bolivia) | Latin1_General_100_ | Non disponibile |
Quechua (Ecuador) | Latin1_General_100_ | Non disponibile |
Quechua (Perù) | Latin1_General_100_ | Non disponibile |
Romancio (Svizzera) | Romansh_100_ | Non disponibile |
Sami (Inari, Finlandia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sami (Lule, Norvegia) | Sami_Norway_100_ | Non disponibile |
Sami (Lule, Svezia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sami (settentrionale, Finlandia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sami (settentrionale, Norvegia) | Sami_Norway_100_ | Non disponibile |
Sami (settentrionale, Svezia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sami (Skolt, Finlandia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sami (meridionale, Norvegia) | Sami_Norway_100_ | Non disponibile |
Sami (meridionale, Svezia) | Sami_Sweden_Finland_100_ | Non disponibile |
Sanscrito (India) | Indic_General_100_1 | Indic_General_90_ |
Serbo (Bosnia ed Erzegovina, alfabeto cirillico) | Serbian_Cyrillic_100_ | Non disponibile |
Serbo (Bosnia ed Erzegovina, alfabeto latino) | Serbian_Latin_100_ | Non disponibile |
Serbo (Serbia, alfabeto cirillico) | Serbian_Cyrillic_100_ | Non disponibile |
Serbo (Serbia, alfabeto latino) | Serbian_Latin_100_ | Non disponibile |
Sotho del nord/Sotho settentrionale (Sudafrica) | Latin1_General_100_ | Non disponibile |
SeTswana/Tswana (Sudafrica) | Latin1_General_100_ | Non disponibile |
Singalese (Sri Lanka) | Indic_General_100_1 | Non disponibile |
Swahili (Kenya) | Latin1_General_100_ | Non disponibile |
Siriano (Siria) | Syriac_100_1 | Syriac_90_ |
Tagico (Tajikistan) | Cyrillic_General_100_ | Non disponibile |
Tamazight (Algeria, alfabeto latino) | Tamazight_100_ | Non disponibile |
Tamil (India) | Indic_General_100_1 | Indic_General_90_ |
Telugu (India) | Indic_General_100_1 | Indic_General_90_ |
Tibetano (RPC) | Tibetan_100_1 | Non disponibile |
Turcomanno (Turkmenistan) | Turkmen_100_ | Non disponibile |
Uiguro (RPC) | Uighur_100_ | Non disponibile |
Alto sorabo (Germania) | Upper_Sorbian_100_ | Non disponibile |
Urdu (Pakistan) | Urdu_100_ | Non disponibile |
Gallese (Regno Unito) | Welsh_100_ | Non disponibile |
Wolof (Senegal) | French_100_ | Non disponibile |
Xhosa/isiXhosa (Sudafrica) | Latin1_General_100_ | Non disponibile |
Sacha (Russia) | Yakut_100_ | Non disponibile |
Yi (RPC) | Latin1_General_100_ | Non disponibile |
Yoruba (Nigeria) | Latin1_General_100_ | Non disponibile |
Zulu/isiZulu (Sudafrica) | Latin1_General_100_ | Non disponibile |
Deprecato, non disponibile a livello di server in SQL Server 2008 (10.0.x) o versioni successive | Hindi | Hindi |
Deprecato, non disponibile a livello di server in SQL Server 2008 (10.0.x) o versioni successive | Korean_Wansung_Unicode | Korean_Wansung_Unicode |
Deprecato, non disponibile a livello di server in SQL Server 2008 (10.0.x) o versioni successive | Lithuanian_Classic | Lithuanian_Classic |
Deprecato, non disponibile a livello di server in SQL Server 2008 (10.0.x) o versioni successive | Macedone | Macedone |
1 Le regole di confronto solo Unicode di Windows possono essere applicate solo a dati a livello di colonna o a livello di espressione. Tali regole non possono essere usate come regole di confronto del server o del database.
2 Come le regole di confronto cinese (Taiwan), il cinese (Macao SAR) utilizza le regole del cinese semplificato; a differenza del cinese (Taiwan), usa la tabella codici 950.