Partilhar via


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

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade 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%';