Подтвердить что ты не робот

Случайная сортировка в MySQL

Есть ли какой-либо тип сортировки в MySQL, который поддерживает Case Sensitive. У меня было все типы сортировки в MySQL, у всех их есть _ci в конце их имени, поэтому они нечувствительны к регистру. Заранее благодарю вас.

4b9b3361

Ответ 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.

Подробнее об этом здесь