Nombre de intercalación de Windows (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Especifica el nombre de intercalación de Windows en la COLLATE
cláusula de SQL Server. El nombre de intercalación de Windows se compone del designador de intercalación y los estilos de comparación.
Convenciones de sintaxis de Transact-SQL
Sintaxis
<Windows_collation_name> ::=
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> ::=
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Argumentos
CollationDesignator
Especifica las reglas de intercalación base utilizadas por la intercalación de Windows. Las reglas de intercalación base abarcan:
- Las reglas de ordenación y comparación que se aplican cuando se especifica la ordenación del diccionario. Las reglas de ordenación se basan en el alfabeto o en el idioma.
- La página de códigos que se usa para almacenar datos varchar.
Ejemplos:
Latin1_General
oFrench
: ambos usan la página de códigos1252
.Turkish
: usa la página de códigos1254
.
CaseSensitivity
CI
especifica que no distingue mayúsculas de minúsculas y CS
especifica distinción entre mayúsculas y minúsculas.
AccentSensitivity
AI
especifica acentos que no distinguen acentos, AS
especifica la distinción de énfasis.
KanatypeSensitive
Si se omite esta opción, se especifica kanatype-insensitive, KS
se especifica kanatype-sensitive.
WidthSensitivity
Si se omite esta opción, se especifica un valor que no distingue ancho y WS
se especifica el ancho.
VariationSelectorSensitivity
Se aplica a: SQL Server 2017 (14.x) y versiones posteriores
Si se omite esta opción, se especifica la diferencia entre selectores de variación y VSS
se especifica la distinción entre selectores de variación.
UTF8
Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
Especifica la codificación UTF-8 que se va a usar para los tipos de datos válidos. Para obtener más información, consulte Soporte técnico de intercalación y Unicode.
{ BIN | BIN2 }
BIN
especifica el criterio de ordenación binario compatible con versiones anteriores que se va a usar.BIN2
especifica el criterio de ordenación binario que usa la semántica de comparación de punto de código.
Comentarios
Según la versión de la intercalación, es posible que algunos puntos de código no tengan pesos de ordenación o asignaciones en mayúsculas o minúsculas definidas. Por ejemplo, compare la salida de la LOWER
función cuando se le asigna el mismo carácter, pero en versiones diferentes de la misma intercalación:
SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];
Este es el conjunto de resultados.
Nombre de la columna | Resultado |
---|---|
Uppercase |
Ǹ |
Lowercase |
ǹ |
La primera instrucción muestra las formas mayúsculas y minúsculas de este carácter en la intercalación anterior (la intercalación no afecta a la disponibilidad de caracteres al trabajar con datos Unicode).
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
Este es el conjunto de resultados.
Nombre de la columna | Resultado |
---|---|
Version80Collation |
Ǹ |
Version100Collation |
ǹ |
La segunda instrucción muestra que se devuelve un carácter en mayúsculas cuando la intercalación es Latin1_General_CI_AS
, porque este punto de código no tiene una asignación en minúsculas definida en esa intercalación.
Cuando se trabaja con algunos idiomas, puede resultar crucial evitar intercalaciones antiguas. Por ejemplo, esto es así para telegu.
En algunos casos, las intercalaciones de Windows y las intercalaciones de SQL Server pueden generar planes de consulta diferentes para la misma consulta.
Ejemplos
En la tabla siguiente se describen algunos ejemplos de nombres de intercalación de Windows.
Intercalación | Descripción |
---|---|
Latin1_General_100_CI_AS |
La intercalación usa las reglas de ordenación del diccionario Latin1 General y se asigna a la página de códigos 1252 . Es una intercalación de versión _100 y no distingue mayúsculas de minúsculas () y distingue acentos (CI AS ). |
Estonian_CS_AS |
La intercalación usa las reglas de ordenación del diccionario estonio y se asigna a la página de códigos 1257 . Es una intercalación de versión _80 (implícita sin número de versión en el nombre) y distingue mayúsculas de minúsculas (CS ) y distingue acentos (AS ). |
Japanese_Bushu_Kakusu_140_BIN2 |
La intercalación usa reglas de ordenación de puntos de código binarios y se asigna a la página de códigos 932 . Se trata de una intercalación de versiones _140 y se omiten las reglas de ordenación de diccionarios de Bushu Kakusu japonés. |
intercalaciones de Windows
Para enumerar las intercalaciones de Windows admitidas por la instancia de SQL Server, ejecute la consulta siguiente.
SELECT *
FROM sys.fn_helpcollations()
WHERE [name] NOT LIKE N'SQL%';