Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordem do MySQL por coluna com caracteres unicode


Para classificar usando o ponto de código unicode, você provavelmente precisará usar utf8_bin agrupamento.

Precisamente, o _bin sufixo indica para classificar pela representação binária de cada caractere .

Para substituir o agrupamento padrão ao fazer o pedido, você usará ORDER POR ... COLLATE :

Parafraseando a documentação:
SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Se sua coluna de texto não use a codificação utf8, você terá que CONVERT isto:
SELECT k
FROM t1
ORDER BY CONVERT(k USING utf8) COLLATE utf8_bin;

Observe que usei utf8 como exemplo aqui, pois esta é a codificação Unicode mais comum. Mas seu servidor MySQL provavelmente suporta outra codificação Unicode, como ucs2 ("UTF-16").