sql >> Database >  >> RDS >> Mysql

Mysql bestel op kolom met unicode-tekens

Om te sorteren met unicode-codepunt, moet u waarschijnlijk utf8_bin . gebruiken sortering.

Precies, de _bin achtervoegsel geeft aan om te sorteren op de binaire weergave van elk teken .

Om te overschrijven de standaardsortering tijdens het bestellen, gebruikt u ORDER BY ... COLLATE :

Om de documentatie te parafraseren:

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Als uw tekstkolom doet niet utf8-codering gebruikt, moet u CONVERT het:

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

Let op:ik heb utf8 gebruikt als voorbeeld hier omdat dit de meest voorkomende Unicode-codering is. Maar je MySQL-server ondersteunt waarschijnlijk andere Unicode-codering, zoals ucs2 ("UTF-16").




  1. Waarom werkt deze MySQL-update niet?

  2. Selecteer kolommen met bepaalde kolomnamen in PostgreSQL

  3. Rij bijwerken met gegevens uit een andere rij in dezelfde tabel

  4. Een varchar vol met komma's gescheiden waarden doorgeven aan een SQL Server IN-functie