電気ウナギ的○○

About Home

これはすごい LIKE 検索の書き方なのか?と幻惑された話

shinoda (2020年11月12日 19:17)
日ごろからバリバリ SQL を書かれている方はこのエントリーを読まずあっちへ行ってください(笑)

マスタの検索画面で、空白で区切られた文字列で複数キーワード検索・・・という要件があって、(他人が作ったプログラムじゃけど)仕様変更の対応とかでソース触ってたら、その複数キーワード検索のプログラムが、

商品名 LIKE '%カレー%うどん%'

みたいな SQL を吐くのよ。

俺は日ごろそんなに SQL を触りまくってるわけではないので、

「おお!こう書くと、
商品名 LIKE '%カレー%' AND 商品名 LIKE '%うどん%'
と同じ動きをするのか!!」

なんて感動しちゃったのよね。

いや、違う(笑)

これだと「カレーうどん 2食入り」とか「大盛カツカレーうどん」はヒットするけど、「うどん屋さんのスープカレー」はヒットせんやん!
よく考えたら、% は単なる LIKE 検索時のワイルドカード文字やん!!(^^;

正規表現で /.*?カレー.*?うどん.*?/ って書いてるのと一緒やあ。

日ごろ、'ほげ%'(前方一致)、'%ほげ'(後方一致)、'%ほげ%'(部分一致)みたいにひとつの組み合わせだけで使うことが多いから、文言の中にいくつも % が含まれてたら、ついつい「お、なんかすごいことっやってる!?」って幻惑されるわ(^^;

そしてこれはもちろんバグだったので、

商品名 LIKE '%カレー%' AND 商品名 LIKE '%うどん%'

という SQL を吐くように直しましたとさ・・・という話(笑)

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/5754

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE