我不是喜欢子句的频繁用户,但现在我有一个要求,我想根据它的名称获取一些文件。我试过了
"SELECT * FROM FILES WHERE FILENAME LIKE "+"%"+"?"+"%";
接下来我尝试转义角色
"SELECT * FROM FILES WHERE FILENAME LIKE "+"\\%"+"?"+"\\%";
我创建准备好的语句并执行其给出错误的两种方式,
请帮助我如何使用 % ?
提前致谢
我不是喜欢子句的频繁用户,但现在我有一个要求,我想根据它的名称获取一些文件。我试过了
"SELECT * FROM FILES WHERE FILENAME LIKE "+"%"+"?"+"%";
接下来我尝试转义角色
"SELECT * FROM FILES WHERE FILENAME LIKE "+"\\%"+"?"+"\\%";
我创建准备好的语句并执行其给出错误的两种方式,
请帮助我如何使用 % ?
提前致谢
只需这样做:
"SELECT * FROM FILES WHERE FILENAME LIKE ?";
然后将参数传递为
"%.jpg"
或者使用您想要的任何通配符。
例如
PreparedStatement st = connection.prepareStatement("SELECT * FROM FILES WHERE FILENAME LIKE ?");
st.setString(1, "%.jpg");
ResultSet rs = st.executeQuery();
我同意 cowls 的回答,但我认为根据您最初的帖子,您还希望在搜索字符串后加一个百分号。
所以,像:
"%myfilename%"