MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい
2021/07/08
以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別する方法をメモした。今回はそれに加えて大文字小文字も区別させたい。以下に方法をメモ。
BINARY演算子を使用する
以下のような記述で対応できる。
WHERE test_column LIKE BINARY '%hogehoge%';
BINARY演算子とは?
リファレンスによると以下のようになるとのこと。
BINARY 演算子は、それに続く文字列をバイナリ文字列にキャストします。これは、比較を文字ごとでなくバイトごとに強制的に実行させる簡単な方法です。また、BINARY では末尾の空白文字が重要になります。
文字ごとではなく1byteごとに比較し、検索するということなのか。イマイチよく分からない。
所感
あいまい検索かつ大文字・小文字・半角・全角全て区別して検索したいというのは初めてのケースだったので苦労した。
関連記事
-
-
MySQLが起動も再起動もできない際の対応方法
サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...
-
-
MySQLでIPを整数値としてカラムに格納する
MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...
-
-
MySQLでtime型データからint型データの減算を行い、減算後のデータで条件検索する方法
MySQLでtime型データからint型データの減算を行い、減算後のデータを検索 ...
-
-
mysqlで正規化できない時はシリアライズ使う
アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...
-
-
MySQLで経度緯度から半径○Kmのデータを抽出する方法
経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...