我想将此 Access sql 查询转换为 Java JDBC
选择*
来自书籍
其中 Lcase(title) LIKE Lcase('*jdbc*') AND Lcase(title) LIKE Lcase('*programming*')
我使用这样的preparedStatement
String sql1="Select * From books Where Lcase(title) LIKE Lcase(%?%) AND Lcase(title) LIKE Lcase(%?%)";
PreparedStatement ps1=con.prepareStatement(sql1);
ps1.setString(1, "jdbc");
ps1.setString(2, "programming");
ResultSet rs1=ps1.executeQuery();
但是我收到语法错误
最佳答案
如果您想将 %
插入到 Lcase
使用的值中,您有两种选择:
- 在代码中添加
%
s,或者 - 在查询中使用串联。
第一种方法如下所示:
String sql1="Select * From books Where Lcase(title) LIKE Lcase(?) AND Lcase(title) LIKE Lcase(?)";
PreparedStatement ps1=con.prepareStatement(sql1);
ps1.setString(1, "%jdbc%");
ps1.setString(2, "%programming%");
第二种方法如下所示:
String sql1="Select * From books Where Lcase(title) LIKE Lcase('%' & ? & '%') AND Lcase(title) LIKE Lcase('%' & ? & '%')";
关于java - 我想在JDBC中插入SQL的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391612/