java - 如何在准备好的语句java中使用特殊字符

标签 java mysql prepared-statement

我不是 like 子句的频繁用户,但现在我有要求我想根据它的名称获取一些文件。 我试过

"SELECT *  FROM FILES WHERE FILENAME LIKE "+"%"+"?"+"%";

接下来我尝试转义字符

 "SELECT *  FROM FILES WHERE FILENAME LIKE "+"\\%"+"?"+"\\%";

当我创建准备好的语句并执行它给出的错误时的两种方式,

请帮助我如何使用 % ?

提前致谢

最佳答案

只需这样做:

"SELECT *  FROM FILES WHERE FILENAME LIKE ?";

然后传参as

"%.jpg"

或者使用您想要的任何通配符。

例如

PreparedStatement st = connection.prepareStatement("SELECT *  FROM FILES WHERE FILENAME LIKE ?");
st.setString(1, "%.jpg");
ResultSet rs = st.executeQuery();

关于java - 如何在准备好的语句java中使用特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15003549/

相关文章:

mysql - 发送 put 请求时,updatedAt 列未使用最新日期时间更新

java.sql.SQL语法错误异常 : Syntax error: Encountered "(" at line

java - 如何从资源文件夹加载文件?

java - Spring Web 服务响应中没有端点适配器

java - SWT 使复合完全填充父级

PHP 和 MySQL Salt 安全问题

java - Eclipse 和 Mylyn : how to disable grey files in the explorer?

Mysql 在一个简单的选择后关闭了带有 30k COM_FIELD_LIST 警告的连接

php - mysql 使用特殊运算符(加法、减法等)准备语句?

php - 存在撇号时使用 json_encode 破坏 JSON 对象