Есть ли какой-либо тип сортировки в MySQL, который поддерживает Case Sensitive. У меня было все типы сортировки в MySQL, у всех их есть _ci в конце их имени, поэтому они нечувствительны к регистру. Заранее благодарю вас.
Случайная сортировка в MySQL
Ответ 1
В соответствии с руководством MySQL http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html вы можете установить сопоставление на _cs
для чувствительности к регистру. Вы можете получить список _cs
сопоставлений, выполнив SHOW COLLATION WHERE COLLATION LIKE "%_cs"
query
После небольшого исследования:
По-видимому, в MySQL нет (еще) utf8_*_cs
. Если для полей utf8 требуется сортировка с учетом регистра, вы должны использовать utf8_bin
. Это испортит ORDER BY
, но это можно исправить с помощью ORDER BY column COLLATE utf8_general_ci
Источник: http://forums.mysql.com/read.php?103,19380,200971#msg-200971 и http://forums.mysql.com/read.php?103,156527,198794#msg-198794
Ответ 2
Попробуйте завершить сортировку в _bin
, например latin1_bin
или utf8_bin
, в зависимости от вашего набора символов.
Ответ 3
Новая версия MySQL (8.0.1 и выше) приходит (наконец) с набором utf8mb4_*_0900_as_cs
collations.
Подробнее об этом здесь