Java 如何在动态sql搜索中使用LIKE?
我正在尝试进行不区分大小写的动态搜索,但结果是参数索引超出范围(1>参数数,即0) 当您当时调用Java 如何在动态sql搜索中使用LIKE?,java,mysql,sql,mysql-workbench,Java,Mysql,Sql,Mysql Workbench,我正在尝试进行不区分大小写的动态搜索,但结果是参数索引超出范围(1>参数数,即0) 当您当时调用setString()api时,请使用表达式 对于不区分大小写的搜索,您必须在like删除单个引号之前添加COLLATE UTF8\u GENERAL\u CI。它删除了错误,但返回null。仍然不能区分大小写search@Untitled我已经更新了我对案例不敏感的回答serach@atishshimpi这会导致错误;com.mysql.jdbc.exceptions.jdbc4.MySQLSynt
setString()
api时,请使用表达式
对于不区分大小写的搜索,您必须在like删除单个引号之前添加
COLLATE UTF8\u GENERAL\u CI
。它删除了错误,但返回null。仍然不能区分大小写search@Untitled我已经更新了我对案例不敏感的回答serach@atishshimpi这会导致错误;com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:排序规则“UTF8\u GENERAL\u CI”对字符集“latin1”无效
java.sql.PreparedStatement preStatement = connect.prepareStatement
"SELECT word1 from words WHERE word2 like '%?%'");
preStatement.setString(1, word);
ResultSet rs = preStatement.executeQuery();
java.sql.PreparedStatement preStatement = connect.prepareStatement
"SELECT word1 from words WHERE word2 COLLATE UTF8_GENERAL_CI like '?'");
preStatement.setString(1, "%"+word+"%");
ResultSet rs = preStatement.executeQuery();