• ベストアンサー

一文字の検索

失礼致します。 質問させてください。 like節を使って文字列の部分検索を行っています。 しかし一文字(「グ」とか「バ」とか)で検索しようとした場合、検索文字を含まない答えまで返してくることが多いです。 ネット上で調べたところ、こういった問題はよく起こるらしく、どうやらバイト数に関係があるみたいです。 と、そこまでは分かったのですがそれ以上のことは書かれていませんでした。むしろそれができるサイトはそれを売りにしてるみたいでしたし・・ どなたか分かる方おられませんか?? よろしくお願いします。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 んっと…「なぜい1文字で検索すると検索文字を含まない答えまで返してくることが多いのか?」というご質問でよろしいでしょうか? ちっと文章が長くなりそうなのと、丁度良いPageを見つけたのでURL貼り付けておきます。 http://www.kiteya.net/script/msearch/#faq にある、8番の「1.31の「正しい全角1文字の検索」とは何ですか?[1.3以上]」をご覧いただけると。 非常に丁寧に解説してあります。

javatea_1985
質問者

お礼

ありがとうございます。 URL先の説明はすごく分かりやすいものでした。 この説明でいけば、たとえ検索文字が二文字でもその4バイトがうまく合致する被検索文字があればそれを拾ってくることになりますね。 ネコ=(A,B,C,D) スイカ=(S,A,B,C,D,E) みたいに。 また、1文字検索ですが、 like '%x%'とするところを like BINARY '%x%'とする事で解決しました。 (googるので徹夜してしまいました・・) アドバイスありがとうございました!! // JavaTea

関連するQ&A