我想使用带有LIKE关键字的Java准备语句。 我正在尝试匹配日期字符串。 这是我的代码。
String summaryChooser = "SELECT * FROM PRODUCT p, CODE_COVERAGE_SUMMARY s WHERE "
+ " p.product_id = s.product_id AND p.product_id = ? AND s.date LIKE ? "
+ " ORDER BY s.date DESC LIMIT 1 ";
ps = dbConnection.prepareStatement(summaryChooser);
ps.setInt(1, productsResult.getInt("product_id"));
ps.setString(2, "%" + date + "%");
它给出以下异常。
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以获取在'?附近使用的正确语法。 AND s.date喜欢吗?第1行的s.date DESC LIMIT 1'ORDER BY
答案 0 :(得分:-1)
我可以做到这一点。
ps.setString(2, date + "%");
谢谢大家:)
答案 1 :(得分:-5)
替换:
ps.setString(2, "%" + date + "%");
具有:
ps.setString(2, "'" + date + "'");