sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo especificar la intercalación en una consulta en SQL Server (T-SQL)

En los sistemas de bases de datos, la intercalación determina cómo se ordenan y comparan los datos en una base de datos. Por ejemplo, cuando ejecuta una consulta con ORDER BY cláusula, la intercalación determina si las letras mayúsculas y minúsculas se tratan de la misma manera o no.

En SQL Server, la intercalación se especifica en el nivel del servidor, el nivel de la base de datos y el nivel de la columna.

La intercalación también se puede aplicar a una expresión de cadena de caracteres para aplicar una conversión de intercalación. Por ejemplo, puede utilizar COLLATE cláusula en un T-SQL SELECT instrucción para especificar la intercalación que se va a utilizar. Así:

USE Music;
SELECT ArtistId, ArtistName
FROM Artists
ORDER BY ArtistName COLLATE Latin1_General_CI_AI;

Esa intercalación usa CI para mayúsculas y minúsculas, y AI para acento insensible.

Podríamos cambiar eso a CS para mayúsculas y minúsculas, y AS para sensibles al acento, y los resultados de la consulta pueden ordenarse de manera diferente (dependiendo de los datos):

USE Music;
SELECT ArtistId, ArtistName
FROM Artists
ORDER BY ArtistName COLLATE Latin1_General_CS_AS;

Por lo tanto, esto le permite anular la intercalación que se aplica en la base de datos o en el nivel de columna cuando se ejecuta una consulta.

Puede usar T-SQL para verificar la intercalación del servidor, la base de datos y una columna.