簡體   English   中英

使用帶有 LIKE 的 Java 准備語句

[英]Use java prepared statement with LIKE

我想使用帶有 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 服務器版本相對應的手冊,了解在 '? 和 s.date 喜歡嗎? ORDER BY s.date DESC LIMIT 1' 在第 1 行

我可以通過這樣做來使它工作。

ps.setString(2, date + "%");

謝謝大家 :)

代替:

ps.setString(2,  "%" + date + "%");

和:

ps.setString(2,  "'" + date + "'");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM