java - 使用带有 LIKE 的 java 准备好的语句
问题描述
我想使用带有 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 LIKE ? ORDER BY s.date DESC LIMIT 1' 在第 1 行
解决方案
我可以通过这样做使其工作。
ps.setString(2, date + "%");
感谢大家 :)
推荐阅读
- vue.js - 从 Vuejs 创建的每秒都会被调用一次
- java - Java多线程:我的所有线程都获得相同的线程ID
- css - IE11 & justify-content 问题
- android - onPressed 不适用于动画按钮
- swift - 一起更改标签栏控制器 selectedIndex 后如何推送视图控制器
- python - 为什么按钮没有显示在表单中?
- c# - 如何以编程方式在 WPF 中设置图像源
- vue.js - Bootstrap-Vue 表单文件输入在删除时不检查文件格式
- r - 基于给定公式的固定效应模型,使用 R 中的 lme4
- angular - 检查后表达式已更改 - 事件订阅更新