我在Java类中有一段简单的代码。
我必须查询数据库以查找文本匹配。
我想问题出在第二个“?”但我不明白为什么。
int userID = this.userID;
String filter = this.filter;
PreparedStatement stmt;
ResultSet rset1;
String query1
= selectMediaList
+ "FROM "
+ schema + ".MEDIA M"
+ " WHERE M.USER_ID = ?"
+ " AND LIKE REGEXP_LIKE ( M.TITLE , ? ) ";
stmt = connection.prepareStatement ( query1, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.setInt ( 1, userID );
stmt.setString ( 2, filter );
rset1 = stmt.executeQuery ();但是我总是得到这样的SQL异常: ORA-00936:缺少表达式
有什么想法吗?
发布于 2015-01-31 00:34:51
更改:
+ " AND LIKE REGEXP_LIKE ( M.TITLE , ? ) ";至:
+ " AND REGEXP_LIKE ( M.TITLE , ? ) ";如果你使用REGEXP_LIKE,我认为like不是必须的。
https://stackoverflow.com/questions/28240365
复制相似问题