Справочное руководство по MySQL версии 4.1.1-alpha

Чувствительность к регистру


BINARY

Оператор BINARY преобразует следующую за ним строку в строку с двоичными данными. Это простой способ обеспечить сравнение в столбце с учетом регистра, даже если данный столбец не определен как BINARY или BLOB:

mysql> SELECT "a" = "A"; -> 1

mysql> SELECT BINARY "a" = "A"; -> 0

BINARY string является сокращением для CAST(string AS BINARY). See section 6.3.5 Функции приведения типов. Оператор BINARY был введен в версии MySQL 3.23.0. Следует учитывать, что при приведении индексированного столбца к типу BINARY MySQL в некоторых случаях не сможет эффективно использовать индексы.

Для сравнения двоичных данных типа BLOB без учета регистра данные с типом BLOB перед выполнением сравнения всегда можно конвертировать в верхний регистр:

SELECT 'A' LIKE UPPER(blob_col) FROM table_name;

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



Содержание раздела