📑

Rails - LIKE句を使った文字のあいまい検索

2023/12/28に公開

はじめに

今回は検索機能で使用するLIKEについて説明します!

Likeとは

「LIKE」は「曖昧検索」を行うための仕組みです。

ワイルドカード文字を使用して○○を含んだ文字列を探すといった処理を行うものです。

検索の種類

検索の種類について説明します!
完全一致、前方一致、後方一致、部分一致の4つあり、使用法は下記に記載します。

完全一致検索

モデル名.where('カラム名 like ?','検索したい文字列')

前方一致検索

モデル名.where('カラム名 like ?','検索したい文字列%')前方一致
モデル名.where('カラム名 like ?','検索したい文字列_')後ろに一文字だけ付いている前方一致

記号の意味は

  • % 任意の0文字以上の文字列
  • _ 任意の1文字

後方一致検索

モデル名.where('カラム名 like ?','%検索したい文字列')後方一致
モデル名.where('カラム名 like ?','_検索したい文字列')先頭に一文字だけ付いている後方一致

部分一致

モデル名.where('カラム名 like ?','%検索したい文字列%')文字列のどの部分にでも検索したい文字列が含まれていればOK
モデル名.where('カラム名 like ?','_検索したい文字列_')先頭と後方に一文字だけ何か文字が付いていて、検索したい文字列が中間にある場合。

Discussion