2007年11月7日水曜日

 

【SQL】日本語検索が上手くいかない時【BINARY】

データベースで日本語を扱う時、条件を指定して検索結果が想定した通りにならないときがある

SELECT * FROM table_name WHERE name LIKE '%山%'

table_name から name に山の文字を含むデータを抽出するSQL文。LIKE によるあいまい検索。ワイルドカード0文字以上のあらゆる文字を表す。

UTF-8マルチバイト文字列を扱う時に生じると思われるが、条件を満たしているデータが検索にヒットしない場合がある。
次のようなSQL文にすると望む結果が得られる。
SQL文が間違っていなければ

SELECT * FROM table_name WHERE BINARY name LIKE '%山%'

ラベル: ,


コメント:
タイトルの件で数時間格闘の末、
検索でこちらの記事にたどり着き、おかげさまで無事解決致しました。
途方に暮れかけていた所だったので本当に助かりました。
有益な情報をありがとうございます。
 
コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google