java mysql prepareStatement模糊查詢like使用注意


今天在使用mysql 的like語句是,發現prepareStatement的like語句和一般的=寫法有一樣。

當要使用prepareStatement的like查詢時,按照一般寫法,都會寫成:

String sql = "select * from tablename like '%?%'";

String sqlParasValue = "2015-03-23";

pStmt =conn.prepareStatement(sql);

pStmt.setString(1, sqlParasValue);

pStmt.execute();

結果發現獲取不了數據,反而會出現sql參數異常。

在網上百度了下,好多人也遇到了這個問題,原來寫法不太一樣。

應該這么寫:

String sql = "select * from tablename like ?";

String sqlParasValue = "%" + "2015-03-23" + "%";

pStmt =conn.prepareStatement(sql);

pStmt.setString(1, sqlParasValue);//會自動添加單引號

pStmt.execute();

這樣就能獲取數據了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM