【MySQL】大文字と小文字を区別しない/させる方法
ここではMySQLで、大文字と小文字を区別しない検索方法、または区別させて検索させる方法を紹介しています。
大文字と小文字を区別しない方法
MySQLでは、デフォルト設定では大文字のデータと小文字のデータを区別しません。
つまり、大文字と小文字を区別せずに検索するには、特に何もする必要がありません。
例えば、次のSQLではCOL1列の値がtestというデータとTESTというデータが検索結果として取得することが出来ます。
SELECT * FROM tab1 WHERE col1 = 'test';
大文字と小文字を区別させる方法
MySQLで大文字と小文字を区別するには、BINARY演算子を使います。
次のSQLでは、COL1列がtestというデータのみが検索結果として返ってきます。
SELECT * FROM tab1 WHERE BINARY col1 = 'test';
または
SELECT * FROM tab1 WHERE col1 BINARY 'test';
また、BINARY演算子をSQLごとに発行する他にもテーブルのカラムにBINARYオプションを付与することでも解決できます。
ALTER TABLE tab1 MODIFY col2 VARCHAR(5) BINARY;