BINARY 演算子はそれに続いて、バイナリ ストリングにストリングをキャストします。これはカラムの比較を強制的に、文字ごとでなくバイトごとに行わせる簡易な方法です。カラムが
BINARY または BLOB と定義されていない場合でも、大文字小文字を区別した比較になります。BINARY もまた、後続のスペースを重要なものにします。
mysql>SELECT 'a' = 'A';-> 1 mysql>SELECT BINARY 'a' = 'A';-> 0 mysql>SELECT 'a' = 'a ';-> 1 mysql>SELECT BINARY 'a' = 'a ';-> 0
比較において、BINARY は演算全体に影響を与えます。同じ結果を持つどちらのオペランドの前にでも、与えることができます。
BINARY str は、CAST(str AS BINARY) の省略表記です。
コンテキストのあるものでは、インデックス付きのカラムを BINARY にキャストした場合、MySQL はそのインデックスを有効に使うことができません。