Spec-Zone .ru
спецификации, руководства, описания, API

10.1.7.7. BINARY Оператор

BINARY оператор бросает строку после этого к двоичной строке. Это - легкий способ вынудить сравнение быть сделанным байтом байтом, а не символом символом. BINARY также конечные пробелы причин, чтобы быть существенным.

mysql> SELECT 'a' = 'A';        -> 1mysql> SELECT BINARY 'a' = 'A';        -> 0mysql> SELECT 'a' = 'a ';        -> 1mysql> SELECT BINARY 'a' = 'a ';        -> 0

BINARY str сокращение для CAST(str AS BINARY).

BINARY атрибут в символьных определениях столбца имеет различный эффект. Символьный столбец, определенный с помощью BINARY атрибут присваивается двоичное сопоставление набора символов столбца. У каждого набора символов есть двоичное сопоставление. Например, двоичное сопоставление для latin1 набор символов latin1_bin, так, если табличный набор символов значения по умолчанию latin1, эти определения на два столбца эквивалентны:

CHAR(10) BINARYCHAR(10) CHARACTER SET latin1 COLLATE latin1_bin

Эффект BINARY поскольку атрибут столбца отличается от своего эффекта до MySQL 4.1. Прежде, BINARY приведенный к столбцу, который был обработан как двоичная строка. Двоичная строка является строкой байтов, у которой нет никакого набора символов или сопоставления, которое отличается от недвоичной символьной строки, у которой есть двоичное сопоставление. Для обоих типов строк сравнения основаны на числовых значениях строкового модуля, но для недвоичных строк модуль является символом, и некоторые наборы символов поддерживают многобайтовые символы. Раздел 11.4.2," BINARY и VARBINARY Типы".

Использование CHARACTER SET binary в определении a CHAR, VARCHAR, или TEXT столбец заставляет столбец быть обработанным как двоичный тип данных. Например, следующие пары определений эквивалентны:

CHAR(10) CHARACTER SET binaryBINARY(10)VARCHAR(10) CHARACTER SET binaryVARBINARY(10)TEXT CHARACTER SET binaryBLOB