dimanche 28 juin 2009

Visualiser l'odre du tri de votre collation SQL Server

Petite astuce pour trouver le caractère suivant le "z" lors d'un tri sur votre base de données.
Cela peut s'avérer utile si vous souhaitez avoir un membre qui apparaisse toujours en dernier lorsque vous classez les membres d'une table par ordre alphabétique (sans la nécessité d'une colonne supplémentaire de tri).
Pour retrouver le classement des caractères sur votre base, utilisez la requête suivante:

CREATE TABLE T1 ( ID int, CARACTERE AS char(ID))

DECLARE @I AS Int
SET @I=1


WHILE (@I <256)

BEGIN
INSERT INTO T1(ID) VALUES (@I)
SET @I = @I+1
END

SELECT * FROM T1 ORDER BY CARACTERE go

DROP TABLE T1

Réponse (sur une base en SQL_Latin1_General_CP1_CS_AS): Il existe donc 4 caractères étant classés après le "z" dans un tri. Dans l'ordre: Ð, ð, Þ et þ.

Bien sûr, cela dépend de la collation définie sur votre base. Par exemple la même requête en French_CI_AS donnera le résultat suivant: Ž et ž

Pour information, Ð, ð, Þ et þ sont des lettres utilisées dans l'alphabet islandais...j'aurais pu les chercher longtemps sans cette requête!

Aucun commentaire: