• ベストアンサー

( Mysql初級 ) ワイルドカードパターンマッチ LIKE について

お世話になります。 Mysqlを勉強しています。where節の条件の一部であるワイルドカードパターンマッチ(LIKE)について質問させていただきたいと思います。 以下に添付させていただいた画像をご覧ください。 テーブルに4人に名前があります。select分を使って、この中から最下行の吉田さんの名前を選出しようとしています。しかし、何度やっても結果はうまくいきません。 考えられる要因を教えていただけないでしょうか。宜しくお願い致します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

文字コードがきちんと設定されないのでは?ユニコード設定になっています? たとえば、%田%でヒットさせられますか? (この場合は田中仙市もヒットしますが) そうであれば_は文字単位ではなくバイト単位でヒットしている可能性が ありますので、__(_が2つ)でヒットするかもしれません。 mysqlのバージョンや、文字コードの設定によって結果がかわってくる ので、適当な処理をいれてやることが必要でしょう。 実際のところ日本語のワイルドカード処理はあまりきちんとできない かもしれませんけどね

bb2318bb
質問者

お礼

ご回答いただき、有難うございます。 アドバイスいただいた「アンダースコアを二つ連続させる方法」で田中仙市をヒットさせることができました。しかし、一つのアンダースコアでヒットさせることができる状態が、MYSQLの開発環境としても学習環境としても、適していると思われます。 引き続き、「バイト単位ではなく、文字単位でヒットさせる」べく環境整備するためにご指導いただけないでしょうか。 年末のお忙しい時期とは存じますが、何卒宜しくお願いお願い申しあげます。

関連するQ&A