Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment spécifier le classement dans une requête dans SQL Server (T-SQL)

Dans les systèmes de base de données, le classement détermine la façon dont les données sont triées et comparées dans une base de données. Par exemple, lorsque vous exécutez une requête en utilisant le ORDER BY clause, le classement détermine si oui ou non les lettres majuscules et les lettres minuscules sont traitées de la même manière.

Dans SQL Server, le classement est spécifié au niveau du serveur, au niveau de la base de données et au niveau de la colonne.

Le classement peut également être appliqué à une expression de chaîne de caractères pour appliquer un cast de classement. Par exemple, vous pouvez utiliser COLLATE clause dans un T-SQL SELECT pour spécifier le classement à utiliser. Comme ceci :

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

Ce classement utilise CI pour insensible à la casse, et AI pour les insensibles aux accents.

Nous pourrions changer cela en CS pour la casse, et AS pour les accents sensibles, et les résultats de la requête peuvent être triés différemment (selon les données) :

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

Ainsi, cela vous permet de remplacer le classement appliqué au niveau de la base de données ou de la colonne lors de l'exécution d'une requête.

Vous pouvez utiliser T-SQL pour vérifier le classement du serveur, de la base de données et d'une colonne.