Nome de ordenação do Windows (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric
Especifica o nome de ordenação do Windows na cláusula COLLATE em SQL Server. O nome de ordenação do Windows é composto pelo designador de ordenação e pelos estilos de comparação.
Convenções de sintaxe de Transact-SQL
Sintaxe
<Windows_collation_name> :: =
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> :: =
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
CollationDesignator
Especifica as regras de ordenação básicas usadas pela ordenação do Windows. As regras de ordenação básicas abrangem o seguinte:
- As regras de classificação e comparação aplicadas quando a classificação do dicionário é especificada. As regras de classificação são baseadas no alfabeto ou no idioma.
- A página de código usada para armazenar dados varchar.
Alguns exemplos são:
- Latin1_General ou francês: ambos usam página de código 1252.
- Turco: usa página de código 1254.
CaseSensitivity
CI especifica que não diferencia maiúsculas de minúsculas, CS especifica que diferencia maiúsculas de minúsculas.
AccentSensitivity
AI especifica que não diferencia acentos, AS especifica que diferencia acento.
KanatypeSensitive
A omissão dessa opção especifica que não diferencia caracteres kana, KS especifica que faz distinção de caracteres kana.
WidthSensitivity
A omissão dessa opção especifica que não diferencia a largura, WS especifica que faz distinção de caracteres de largura.
VariationSelectorSensitivity
Aplica-se ao: A partir do SQL Server 2017 (14.x)
A omissão dessa opção especifica que não diferencia seletor de variação, VSS especifica que diferencia seletor de variação.
UTF8
Aplica-se ao: A partir do SQL Server 2019 (15.x)
Especifica a codificação UTF-8 a ser usada para tipos de dados qualificados. Para obter mais informações, consulte Suporte a ordenações e a Unicode.
BIN
Especifica a ordem de classificação binária compatível com versões anteriores que será usada.
BIN2
Especifica a ordem de classificação binária que usa semântica de comparação de ponto de código.
Comentários
De acordo com a versão da ordenação, alguns pontos de código podem não ter pesos de classificação e/ou mapeamentos de maiúsculas/minúsculas definidos. Por exemplo, compare a saída da função LOWER
quando ela recebe o mesmo caractere, mas em diferentes versões da mesma ordenação:
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];
-- Ǹ ǹ
A primeira instrução mostra as formas maiúsculas e minúsculas desse caractere na ordenação mais antiga (a ordenação não afeta a disponibilidade dos caracteres ao trabalhar usando dados Unicode). No entanto, a segunda instrução mostra que um caractere maiúsculo é retornado quando a ordenação é Latin1_General_CI_AS, porque esse ponto de código não tem um mapeamento de minúsculas definido na ordenação em questão.
Ao trabalhar com alguns idiomas, pode ser crítico evitar ordenações mais antigas. Por exemplo, isso se aplica ao télugu.
Em alguns casos, as ordenações do Windows e ordenações do SQL Server podem gerar diferentes planos de consulta para a mesma consulta.
Exemplos
A seguir estão alguns exemplos de nomes de ordenação do Windows:
Latin1_General_100_CI_AS
A ordenação usa as regras de classificação do dicionário Latin1 Geral e é mapeada para a página de código 1252. É uma versão da ordenação _100, não diferencia maiúsculas de minúsculas (CI) e diferencia acento (AS).
Estonian_CS_AS
A ordenação usa as regras de classificação do dicionário estoniano e mapeia para a página de código 1257. É uma versão de ordenação _80 (sem indicação do número de versão no nome), diferencia maiúsculas de minúsculas (CS) e diferencia acento (AS).
Japanese_Bushu_Kakusu_140_BIN2
A ordenação usa regras de classificação de ponto de código binário e mapeia para a página de código 932. É uma versão de ordenação _140 é as regras de classificação do dicionário Japanese Bushu Kakusu são ignoradas.
Ordenações do Windows
Para listar as ordenações do Windows suportadas pela instância do SQL Server, execute a seguinte consulta.
SELECT * FROM sys.fn_helpcollations() WHERE [name] NOT LIKE N'SQL%';
A tabela a seguir lista todas as ordenações do Windows com suporte no SQL Server.
Localidade do Windows | Ordenação versão 100 | Ordenação versão 90 |
---|---|---|
Alsaciano (França) | Latin1_General_100_ | Não disponível |
Amárico (Etiópia) | Latin1_General_100_ | Não disponível |
Armênio (Armênia) | Cyrillic_General_100_ | Não disponível |
Assamês (Índia) | Assamese_100_ 1 | Não disponível |
Bangla (Bangladesh) | Bengali_100_1 | Não disponível |
Bashkir (Rússia) | Bashkir_100_ | Não disponível |
Basco (País Basco) | Latin1_General_100_ | Não disponível |
Bengali (India) | Bengali_100_1 | Não disponível |
Bósnio (Bósnia e Herzegovina, Cirílico) | Bosnian_Cyrillic_100_ | Não disponível |
Bósnio (Bósnia e Herzegovina, Latino) | Bosnian_Latin_100_ | Não disponível |
Bretão (França) | Breton_100_ | Não disponível |
Chinese (Macao SAR) | Chinese_Traditional_Pinyin_100_ | Não disponível |
Chinese (Macao SAR) | Chinese_Traditional_Stroke_Order_100_ | Não disponível |
Chinês (Singapura) | Chinese_Simplified_Stroke_Order_100_ | Não disponível |
Corso (França) | Corsican_100_ | Não disponível |
Croata (Bósnia e Herzegovina, Latino) | Croatian_100_ | Não disponível |
Dari (Afeganistão) | Dari_100_ | Não disponível |
Inglês (Índia) | Latin1_General_100_ | Não disponível |
Inglês (Malásia) | Latin1_General_100_ | Não disponível |
Inglês (Singapura) | Latin1_General_100_ | Não disponível |
Filipino (Filipinas) | Latin1_General_100_ | Não disponível |
Frisão (Holanda) | Frisian_100_ | Não disponível |
Georgiano (Geórgia) | Cyrillic_General_100_ | Não disponível |
Groenlandês (Groenlândia) | Danish_Greenlandic_100_ | Não disponível |
Gujarati (Índia) | Indic_General_100_1 | Indic_General_90_ |
hauçá (Nigéria, Latino) | Latin1_General_100_ | Não disponível |
Híndi (Índia) | Indic_General_100_1 | Indic_General_90_ |
Igbo (Nigéria) | Latin1_General_100_ | Não disponível |
Inuktitut (Canadá, latino) | Latin1_General_100_ | Não disponível |
Inuktitut (silábico) Canadá | Latin1_General_100_ | Não disponível |
Irlandês (Irlanda) | Latin1_General_100_ | Não disponível |
Japonês (Japão XJIS) | Japanese_XJIS_100_ | Japanese_90_, Japanese_ |
Japonês (Japão) | Japanese_Bushu_Kakusu_100_ | Não disponível |
canarim (Índia) | Indic_General_100_1 | Indic_General_90_ |
Khmer (Camboja) | Khmer_100_1 | Não disponível |
Quiché (Guatemala) | Modern_Spanish_100_ | Não disponível |
Quiniaruanda (Ruanda) | Latin1_General_100_ | Não disponível |
Konkani (Índia) | Indic_General_100_1 | Indic_General_90_ |
Laosiano (RDP do Laos) | Lao_100_1 | Não disponível |
Sorábio baixo (Alemanha) | Latin1_General_100_ | Não disponível |
Luxemburguês (Luxemburgo) | Latin1_General_100_ | Não disponível |
Malaiala (Índia) | Indic_General_100_1 | Não disponível |
Maltês (Malta) | Maltese_100_ | Não disponível |
Maori (Nova Zelândia) | Maori_100_ | Não disponível |
Mapudungun (Chile) | Mapudungan_100_ | Não disponível |
Marati (Índia) | Indic_General_100_1 | Indic_General_90_ |
moicano (Canadá) | Mohawk_100_ | Não disponível |
Mongol (RPC) | Cyrillic_General_100_ | Não disponível |
Nepalês (Nepal) | Nepali_100_1 | Não disponível |
Norueguês, (Bokmål, Noruega) | Norwegian_100_ | Não disponível |
Norueguês (Nynorsk, Noruega) | Norwegian_100_ | Não disponível |
occitânico (França) | French_100_ | Não disponível |
Oriá (Índia) | Indic_General_100_1 | Não disponível |
Pashto (Afeganistão) | Pashto_100_1 | Não disponível |
Persa (Irã) | Persian_100_ | Não disponível |
panjabi (Índia) | Indic_General_100_1 | Indic_General_90_ |
Quíchua (Bolívia) | Latin1_General_100_ | Não disponível |
Quíchua (Equador) | Latin1_General_100_ | Não disponível |
Quíchua (Peru) | Latin1_General_100_ | Não disponível |
Romanche (Suíça) | Romansh_100_ | Não disponível |
Sami (Inari, Finlândia) | Sami_Sweden_Finland_100_ | Não disponível |
Sami (Lule, Noruega) | Sami_Norway_100_ | Não disponível |
Sami (Lule, Suécia) | Sami_Sweden_Finland_100_ | Não disponível |
Sami (Norte, Finlândia) | Sami_Sweden_Finland_100_ | Não disponível |
Sami (Norte, Noruega) | Sami_Norway_100_ | Não disponível |
Sami (Norte, Suécia) | Sami_Sweden_Finland_100_ | Não disponível |
Sami (Skolt, Finlândia) | Sami_Sweden_Finland_100_ | Não disponível |
Sami (Sul, Noruega) | Sami_Norway_100_ | Não disponível |
Sami (Sul, Suécia) | Sami_Sweden_Finland_100_ | Não disponível |
Sânscrito (Índia) | Indic_General_100_1 | Indic_General_90_ |
Sérvio (Bósnia e Herzegovina, cirílico) | Serbian_Cyrillic_100_ | Não disponível |
Sérvio (Bósnia e Herzegovina, latino) | Serbian_Latin_100_ | Não disponível |
Sérvio (Sérvia, cirílico) | Serbian_Cyrillic_100_ | Não disponível |
Sérvio (Sérvia, latino) | Serbian_Latin_100_ | Não disponível |
soto setentrional (África do Sul) | Latin1_General_100_ | Não disponível |
Setswana/Tswana (África do Sul) | Latin1_General_100_ | Não disponível |
Cingalês (Sri Lanka) | Indic_General_100_1 | Não disponível |
Suaíle (Quênia) | Latin1_General_100_ | Não disponível |
Siríaco (Síria) | Syriac_100_1 | Syriac_90_ |
Tadjique (Tadjiquistão) | Cyrillic_General_100_ | Não disponível |
Tamazirte (Argélia, latino) | Tamazight_100_ | Não disponível |
Tâmil (Índia) | Indic_General_100_1 | Indic_General_90_ |
Télugo (Índia) | Indic_General_100_1 | Indic_General_90_ |
Tibetano (RPC) | Tibetan_100_1 | Não disponível |
Turcomeno (Turcomenistão) | Turkmen_100_ | Não disponível |
Uighur (RPC) | Uighur_100_ | Não disponível |
Sorábio Alto (Alemanha) | Upper_Sorbian_100_ | Não disponível |
Urdu (Paquistão) | Urdu_100_ | Não disponível |
Galês (Reino Unido) | Welsh_100_ | Não disponível |
uolofe (Senegal) | French_100_ | Não disponível |
Xhosa/isiXhosa (África do Sul) | Latin1_General_100_ | Não disponível |
Sakha (Rússia) | Yakut_100_ | Não disponível |
Yi (RPC) | Latin1_General_100_ | Não disponível |
Ioruba (Nigéria) | Latin1_General_100_ | Não disponível |
Zulu/isiZulu (África do Sul) | Latin1_General_100_ | Não disponível |
Preterido, não disponível no nível do servidor no SQL Server 2008 (10.0.x) ou posterior | Híndi | Híndi |
Preterido, não disponível no nível do servidor no SQL Server 2008 (10.0.x) ou posterior | Korean_Wansung_Unicode | Korean_Wansung_Unicode |
Preterido, não disponível no nível do servidor no SQL Server 2008 (10.0.x) ou posterior | Lithuanian_Classic | Lithuanian_Classic |
Preterido, não disponível no nível do servidor no SQL Server 2008 (10.0.x) ou posterior | Macedônio | Macedônio |
1 Ordenações do Windows somente em Unicode podem ser aplicadas apenas a dados nos níveis de coluna ou de expressão. Eles não podem ser usados como ordenações de banco de dados ou de servidor.
2 Como a ordenação de chinês (Taiwan), o chinês (Macau SAR) usa as regras de chinês simplificado; ao contrário do chinês (Taiwan), ele usa a página de código 950.
Consulte Também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de