我想在JDBC中插入一个特殊字符SQL
I want to insert a special character of SQL in JDBC
我想将这个 Access sql 查询翻译成 Java JDBC
Select *
From books
Where 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
使用的值中,你有两个选择:
- 在代码中添加
%
,或者
- 在查询中使用串联。
第一种方法如下所示:
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('%' & ? & '%')";
我想将这个 Access sql 查询翻译成 Java JDBC
Select *
From books
Where 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
使用的值中,你有两个选择:
- 在代码中添加
%
,或者 - 在查询中使用串联。
第一种方法如下所示:
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('%' & ? & '%')";