sql >> Databáze >  >> RDS >> Mysql

Mysql seřaďte podle sloupce se znaky unicode

Chcete-li třídit pomocí kódu Unicode, pravděpodobně budete muset použít utf8_bin řazení.

Přesněji _bin přípona označuje řazení podle binární reprezentace každého znaku .

Chcete-li přepsat výchozí řazení při objednávání, použijete ORDER BY ... COLLATE :

Abych parafrázoval dokumentaci:

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;

Pokud váš textový sloupec není použijte kódování utf8, budete muset CONVERT to:

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

Všimněte si prosím, že jsem použil utf8 jako příklad zde, protože se jedná o nejběžnější kódování Unicode. Ale váš server MySQL pravděpodobně podporuje jiné kódování Unicode, jako je ucs2 ("UTF-16").




  1. SQL Server - Auto-inkrementace, která umožňuje příkazy UPDATE

  2. Zkratka pro aktualizaci řádku tabulky v databázi?

  3. Příkaz SQL WHERE

  4. Formát PHP date() při vkládání do datetime v MySQL