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

Mysql trier par sur une colonne avec des caractères Unicode

Pour trier en utilisant le point de code Unicode, vous devez probablement utiliser utf8_bin classement.

Précisément, le _bin le suffixe indique de trier par la représentation binaire de chaque caractère .

Pour remplacer le classement par défaut lors de la commande, vous utiliserez ORDER BY ... COLLATE :

Pour paraphraser la documentation :

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Si votre colonne de texte ne le fait pas utilisez l'encodage utf8, vous devrez CONVERT il :

SELECT k
FROM t1
ORDER BY CONVERT(k USING utf8) COLLATE utf8_bin;

Veuillez noter que j'ai utilisé utf8 à titre d'exemple ici car il s'agit de l'encodage Unicode le plus courant. Mais votre serveur MySQL prend probablement en charge d'autres encodages Unicode, comme ucs2 ("UTF-16").