Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Reihenfolge nach einer Spalte mit Unicode-Zeichen

Um mit Unicode-Codepunkt zu sortieren, müssen Sie wahrscheinlich utf8_bin verwenden Sortierung.

Genauer gesagt der _bin Suffix geben an, dass nach der binären Darstellung jedes Zeichens sortiert werden soll .

Zum Überschreiben Als Standardsortierung beim Bestellen verwenden Sie ORDER BY ... COLLATE :

Um die Dokumentation zu paraphrasieren:

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Wenn Ihre Textspalte nicht Wenn Sie die utf8-Codierung verwenden, müssen Sie CONVERT es:

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

Bitte beachten Sie, dass ich utf8 verwendet habe hier als Beispiel, da dies die gebräuchlichste Unicode-Codierung ist. Aber Ihr MySQL-Server unterstützt wahrscheinlich andere Unicode-Codierungen, wie ucs2 ("UTF-16").