sql >> Base de Datos >  >> RDS >> Mysql

Ordenar mysql por columna con caracteres unicode

Para ordenar usando el punto de código Unicode, probablemente necesite usar utf8_bin colación.

Precisamente, el _bin sufijo indica ordenar por la representación binaria de cada carácter .

Para anular la intercalación predeterminada al realizar el pedido, utilizará ORDER BY ... COLLATE :

Parafraseando la documentación:

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Si su columna de texto no use la codificación utf8, tendrá que CONVERT es:

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

Tenga en cuenta que utilicé utf8 como ejemplo aquí, ya que esta es la codificación Unicode más común. Pero su servidor MySQL probablemente admita otra codificación Unicode, como ucs2 ("UTF-16").