首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java,oracle - prepared语句ORA-00936

java,oracle - prepared语句ORA-00936
EN

Stack Overflow用户
提问于 2015-01-31 00:31:32
回答 1查看 180关注 0票数 0

我在Java类中有一段简单的代码。

我必须查询数据库以查找文本匹配。

我想问题出在第二个“?”但我不明白为什么。

代码语言:javascript
复制
        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:缺少表达式

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-31 00:34:51

更改:

代码语言:javascript
复制
 + " AND LIKE REGEXP_LIKE ( M.TITLE , ? ) ";

至:

代码语言:javascript
复制
+ " AND REGEXP_LIKE ( M.TITLE , ? ) ";

如果你使用REGEXP_LIKE,我认为like不是必须的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28240365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档