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 はそのインデックスを有効に使うことができません。