Nome da colação do Windows (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Especifica o nome da colação do Windows na COLLATE cláusula no SQL Server. O nome de colação Windows é composto pelo designador de colação e pelos estilos de comparação.

Transact-SQL convenções de sintaxe

Sintaxe

<Windows_collation_name> ::=
<CollationDesignator>_<ComparisonStyle>

<ComparisonStyle> ::=
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }

Arguments

CollationDesignator

Especifica as regras base de colação usadas pela colação do Windows. As regras base de colação cobrem:

  • As regras de ordenação e comparação aplicadas quando a ordenação por dicionário é especificada. As regras de ordenação baseiam-se no alfabeto ou na língua.
  • A página de código usada para armazenar dados varchar .

Alguns exemplos são:

  • Latin1_General ou French: ambos usam a página 1252de códigos .
  • Turkish: utiliza a página 1254de código .

Sensibilidade ao Caso

CI especifica indistinto a maiúsculas e maiúsculas, CS especifica a sensível a maiúsculas.

Sensibilidade ao Acento

AI especifica insensível ao acento, AS especifica sensível ao acento.

KanatypeSensitive

Omitir esta opção especifica insensível a kanatype, KS especifica sensível a kanatype.

Sensibilidade à Largura

Omitir esta opção especifica insensível à largura, WS especifica sensível à largura.

VariaçãoSelectorSensibilidade

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores

Omitir esta opção especifica variação insensível ao seletor, VSS especifica variação sensível ao seletor.

UTF8

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores

Especifica a codificação UTF-8 a ser usada para tipos de dados elegíveis. Para obter mais informações, consulte Classificação e suporte a Unicode.

{ BIN | BIN2 }

  • BIN especifica a ordem de ordenação binária retrocompatível a ser utilizada.
  • BIN2 especifica a ordem binária de ordenação que utiliza a semântica de comparação de pontos de código.

Observações

Dependendo da versão da colação, alguns pontos de código podem não ter pesos de ordenação, ou mapeamentos maiúsculos/minúsculos definidos. Por exemplo, compare a saída da LOWER função quando lhe é atribuída a mesma carácter, mas em versões diferentes da mesma colação:

SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
       NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];

Aqui está o conjunto de resultados.

Nome da coluna Result
Uppercase Ǹ
Lowercase ǹ

A primeira instrução mostra tanto as formas maiúsculas como minúsculas deste carácter na colação mais antiga (a colação não afeta a disponibilidade de caracteres ao trabalhar com dados Unicode).

SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
       LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];

Aqui está o conjunto de resultados.

Nome da coluna Result
Version80Collation Ǹ
Version100Collation ǹ

A segunda afirmação mostra que um carácter maiúsculo é devolvido quando a colação é Latin1_General_CI_AS, porque este ponto de código não tem uma correspondência minúscula definida nessa colação.

Ao trabalhar com algumas linguagens, pode ser crítico evitar as colações mais antigas. Por exemplo, isto é verdade para o Telegu.

Em alguns casos, as colações do Windows e do SQL Server podem gerar planos de consulta diferentes para a mesma consulta.

Examples

A tabela seguinte descreve alguns exemplos de nomes de colação do Windows.

Collation Description
Latin1_General_100_CI_AS O Collation utiliza as regras de ordenação do dicionário Latin1 General e mapeia para a página 1252de códigos. É uma colação de versões _100 , e é sensível a maiúsculas minúsculas (CI) e sensível ao acento (AS).
Estonian_CS_AS O Collation utiliza as regras de ordenação do dicionário estónio e mapeia para a página 1257de códigos. É uma colação de versão _80 (implícita por nenhum número de versão no nome), e é sensível a maiúsculas minúsculas (CS) e sensíveis ao acento (AS).
Japanese_Bushu_Kakusu_140_BIN2 A colação utiliza regras binárias de ordenação de pontos em código e mapeia para a página 932de códigos. É uma colação de versões _140 , e as regras de ordenação do dicionário japonês Bushu Kakusu são ignoradas.

Colocações do Windows

Para listar as colações do Windows suportadas pela sua instância do SQL Server, execute a seguinte consulta.

SELECT *
FROM sys.fn_helpcollations()
WHERE [name] NOT LIKE N'SQL%';