Pg職に転職したいWebサイト制作。PHPとかMySQLとか。symfony、CakePHP、Perl勉強。 データベースで日本語を扱う時、条件を指定して検索結果が想定した通りにならないときがある。 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 '%山%'