- ベストアンサー
SQLでのワイルドカード使用について教えて下さい。
JSPのSQL構文でワイルドカードを使用したいのですが記述が分かりません。 教えて下さい。 String param = req.getParameter( "Str" );で値を拾って ("SELECT * FROM テーブル WHERE name='"+ param +"'")でこのparamの部分にワイルドカードを使用するにはどの様に書けば宜しいのでしょうか? %'"+ param +"'%とか色々試してみました。 ご教示下さいませ。お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
("SELECT * FROM Table where 氏名 like '%" + param + "%' order by 日付 desc"); で、たぶんいけると思います。 paramは変数なので文字列(ダブルクォーテーションで括っている中)の外に出す必要があります。
その他の回答 (1)
まずは、生成されるSQL分の文字列を想定してみてください。 SELECT * FROM テーブル WHERE カラム like 'param%' ですよね? であれば、そうなるように文字列編集をされてみてはどうでしょうか。
お礼
度々、申し訳ございません。 エラーは見間違いで別のJSPでした。 申し訳ありません。 レコードが表示されないのでrs = stmte.executeQuery ("SELECT * FROM Table where 氏名 like'%param%' order by 日付 desc");では違う様でした。
補足
ありがとございます。 rs = stmte.executeQuery ("SELECT * FROM Table where 氏名 like'%param%' order by 日付 desc");と記述した所 文字列 ' order by ファイル日付 desc' の後で引用符が閉じていません。と表示されてしまいました。 どこか足りないのでしょうか?SQLに関して勉強不足で申し訳ございませんがご教示下さい。
お礼
ARIA9さん すみません。 今、ワイルドカードを使わずやってみたのですが表示されませんでした。 String param = req.getParameter( "Str" );で値を拾えてないようです。もう1度見直してみます。。。
補足
ご回答ありがとうございます! 教えて頂いた記述を試させて頂いた所、エラーはありませんでしたが レコードが表示されません。 すみません。宜しくお願い致します。