Разборы в MySQL - PullRequest
       29

Разборы в MySQL

0 голосов
/ 06 февраля 2011

Есть таблица со следующей структурой:

Structure of table

Here are the data in this table:

Records in this table

Ok, let's try the following:

SELECT
LOWER(md5_upper_bin), 
LOWER(md5_upper_ge_ci), 
UPPER(md5_lower_bin),
UPPER(md5_lower_ge_ci) 
FROM qwew


The result is:

Result of experimental query

The question: why the postfix _bin have been ignored? According to Руководство по MySQL , мы можем сказать, что _bin влияет и на такие функции, как LOWER и UPPER (и делает их не работающими, потому что в этих полях используется сверка двоичного типа) ). Но у нас есть другие результаты на практике. Почему?

1 Ответ

2 голосов
/ 06 февраля 2011

CHAR и VARCHAR хранят недвоичные строки , а не двоичные строки. Необходимо изменить фактический тип столбца на BINARY или VARBINARY, чтобы параметры сортировки _bin влияли на функции UPPER и LOWER, применяемые к данным в них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...