SQL包含:查询运算符

时间:2016-09-15 11:07:12

标签: sql oracle jpa

我从很久以前就得到了一个查询,查询是由JPA构建的,但今天引发了异常:

  

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.springframework.orm.hibernate3.HibernateJdbcException:Hibernate数据访问时的JDBC异常:SQL [n / a]的SQLException; SQL状态[99999];错误代码[29902];无法提取ResultSet;嵌套异常是org.hibernate.exception.GenericJDBCException:无法在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)中提取ResultSet

长话短说,它给出了 SQL状态[99999];错误代码[29902]; 参数问题。

查询其构建如下:

select * from mytable where CONTAINS(field1, 'BT');

A little google-fu show me that BT its a query operator for Contains.此错误可以通过 DIFMERGE 关于进行搜索..

问题是,有一种方法可以逃避文本,以便我可以搜索 BT 或他的朋友这个词吗?

编辑:我构建像这样的包含:

return builder.greaterThan(
            builder.function("CONTAINS", Integer.class, exp, builder.literal(((String) param.getValue()).toUpperCase())),
            0);

编辑:我尝试将文字 BT 转换为unicode,但也无效。

  

从myTableWHERE CONTAINS中选择*(field1,UNISTR('\ 0042 \ 0054'))> 0

0 个答案:

没有答案