我正在尝试进行动态的不区分大小写的搜索,但结果是参数索引超出范围(1 > 参数数量,即 0)
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();
当您调用 setString()
api 时,请使用表达式。
对于不区分大小写的搜索,您必须在 like 之前添加 COLLATE UTF8_GENERAL_CI
关于java - 如何在动态sql搜索中使用LIKE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766610/