勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい

   2021/07/08  MySQL データベース

以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別する方法をメモした。今回はそれに加えて大文字小文字も区別させたい。以下に方法をメモ。

 

BINARY演算子を使用する

以下のような記述で対応できる。

WHERE test_column LIKE BINARY '%hogehoge%';

 

BINARY演算子とは?

リファレンスによると以下のようになるとのこと。

BINARY 演算子は、それに続く文字列をバイナリ文字列にキャストします。これは、比較を文字ごとでなくバイトごとに強制的に実行させる簡単な方法です。また、BINARY では末尾の空白文字が重要になります。

文字ごとではなく1byteごとに比較し、検索するということなのか。イマイチよく分からない。

 

所感

あいまい検索かつ大文字・小文字・半角・全角全て区別して検索したいというのは初めてのケースだったので苦労した。

 - MySQL データベース

  関連記事

MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法

MySQLのバックアップを取る際にadminerとかから手動で対応するのではなく ...

MySQLが起動も再起動もできない際の対応方法

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLでユニークキーをはる

MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...

MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)

MySQLでdatetime型データがあり、何日経過しているかを取得し、〇日経過 ...