👣
MysqlのFIND_IN_SETを使ってカンマ(,)区切り以外の文字列で検索する
FIND_IN_SETはデフォルトではカンマ区切りで検索する。
(ここら辺は他記事でも解説されているので、割愛。気になる方は以下記事参考にすると良いかも)
その中でも今回パイプ(|)区切りになっているケースがあったが、軽く調べても出てこなかったためメモ
どうやらFIND_IN_SETの第二引数に入れるカラム名をREPLACEすれば行けるらしい。
普段Laravelを使うので、以下コードはLaravelのwhereRawを使う。
$Model->whereRaw('FIND_IN_SET(?, REPLACE(your_column_name, "|", ","))', [$your_value]);
とりあえず無事検索できるようになります。
Discussion