-
BINARY
Оператор
BINARY
преобразует следующую за ним строку в строку с двоичными данными. Это простой способ обеспечить сравнение в столбце с учетом регистра, даже если данный столбец не определен какBINARY
илиBLOB
:mysql> SELECT "a" = "A"; -> 1 mysql> SELECT BINARY "a" = "A"; -> 0
BINARY string
является сокращением дляCAST(string AS BINARY)
. See Раздел 6.3.5, «Функции приведения типов». ОператорBINARY
был введен в версии MySQL 3.23.0. Следует учитывать, что при приведении индексированного столбца к типуBINARY
MySQL в некоторых случаях не сможет эффективно использовать индексы.Для сравнения двоичных данных типа
BLOB
без учета регистра данные с типомBLOB
перед выполнением сравнения всегда можно конвертировать в верхний регистр:SELECT 'A' LIKE UPPER(blob_col) FROM table_name;
В скором времени мы планируем ввести преобразование между различными кодировками, чтобы сделать сравнение строк еще более гибким.