Home > All > SQLでLIKE文をまとめる

SQLでLIKE文をまとめる

December 24th, 2008 Leave a comment Go to comments

今までwordは1つで複数のフィールドを検索するときは

...WHERE (`field1` LIKE '%word%') OR (`field2` LIKE '%word%') OR...

という感じにしており、冗長な気がしてなりませんでした;


...WHERE (`field1` || `field2`) LIKE '%word%' ...

一度このようにしてやってみたのですが上手くいきませんでした
どちらのfieldも内容があれば上手くいくので最初は勘違いしていましたが、この場合、どちらかのfieldがnullならその行の検索が失敗してしまいます(例え片方のfieldがマッチしていても)


...WHERE (IFNULL(`field1`, '') || IFNULL(`field2`, '')) LIKE '%word%' ...

こうするとfieldがnullの場合に”(空文字列)が返るのでそのまま検索出来ます
まだ多少冗長な気がしないでもないですが、前よりはマシになったと思います

関連記事:

Tags:
  1. No comments yet.