MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい
2021/07/08
以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別する方法をメモした。今回はそれに加えて大文字小文字も区別させたい。以下に方法をメモ。
BINARY演算子を使用する
以下のような記述で対応できる。
WHERE test_column LIKE BINARY '%hogehoge%';
BINARY演算子とは?
リファレンスによると以下のようになるとのこと。
BINARY 演算子は、それに続く文字列をバイナリ文字列にキャストします。これは、比較を文字ごとでなくバイトごとに強制的に実行させる簡単な方法です。また、BINARY では末尾の空白文字が重要になります。
文字ごとではなく1byteごとに比較し、検索するということなのか。イマイチよく分からない。
所感
あいまい検索かつ大文字・小文字・半角・全角全て区別して検索したいというのは初めてのケースだったので苦労した。
関連記事
-
-
PHPからMySQLにシリアライズしたデータを格納
アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...
-
-
MySQLで大文字小文字
半角英数字のみのフォームで入力した値を検索した際、 データに差異が発生。 [Aa ...
-
-
MySQLでユーザー作成時にエラーが発生
SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...
-
-
MySQLで一連の処理を関数のように実行できるストアドプロシージャの設定と利用方法
MySQL関連のサイトを見ていた際にストアドプロシージャが云々というページがあっ ...
-
-
Codeigniter4でMySQLに接続しCRUD操作する方法
Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...