A.5.1 Чувствительность к регистру при поиске
A.5.1 Чувствительность к регистру при поиске
По умолчанию поиск в MySQL является независимым от регистра символов (хотя
существуют некоторые кодировки, которые всегда чувствительны к регистру,
такие как czech). Это означает, что при поиске с помощью col_name LIKE
'a%' будут выданы все значения столбца, начинающиеся на A или a. Если
необходимо выполнить тот же поиск с учетом регистра, для проверки префикса
следует использовать что-то вроде INSTR(col_name, "A")=1 или
STRCMP(col_name, "A") = 0, если значение в столбце точно равно A.
Простые операции сравнения (>=, >, =, <, <=, сортировка и группировка)
основываются на "сорте" каждого символа. Символы одного сорта (такие как
E, e и E) обрабатываются как одинаковые символы!
В старых версиях MySQL сравнения по LIKE выполнялись над символами,
переведенными в верхний регистр (E == e, но E <> E). В новых версиях MySQL
LIKE работает точно так же, как другие операторы сравнения.
Если необходимо, чтобы столбец всегда обрабатывался в с учетом регистра,
объявите его с типом BINARY (see section 6.5.3 Синтаксис оператора CREATE TABLE).
Если вы используете китайские данные в так называемой кодировке big5, то
имеет смысл объявить все символьные столбцы как BINARY. Сортировка таких
столбцов будет работать, поскольку порядок сортировки символов в кодировке
big5 основывается на порядке кодов ASCII.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
|