データベースJAVAでSQLを実行する時、PreparedStatementを使ってます。これを使ってると文字列連結してSQL文を組み立てるよりもセキュリティー的に安心だしエスケープ文字(シングルクォーテーション、パーセント...etc)も心配しなくていいし普通は問題ないのです。SQL文の実行ただひとつ落とし穴が...。LIKE句でパーセント記号(%)と下線(_)を文字通りに検索したい時はPreparedStatementを使用しただけではうまくいかないのです。LIKE句ではパーセント記号と下線はワイルドカードとして機能してしまうんですね。'!'}↑のように書くわけです(この場合、ESCAPEの後ろの'!'をエスケープ文字として使います)。'john_'に続く文字を検索したかったら?に'john!_%'とバインドしてやればいいわけです。'!'}↑こんな感じ。lennon'だと引っかかりません。'!'}を書かないとうまくいきません。'!'}↑だと構文エラーになってしまいます。'!'}↑のように書かないといけません。'!'}を挿入するメソッドを作ってみました。sb.toString();}↑こんな感じ。簡単な検証しかしてないので動作保障は出来ませんけど...なんにしてもエスケープ文字はめんどくさい。(7)はてなブログをはじめよう!glass-_-onionさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。