当前位置: 首页 > 知识库问答 >
问题:

带有CONTAINS查询的Java准备语句

缑桐
2023-03-14

我有一个搜索查询,它必须使用包含搜索搜索表中的一列。列上有CTXSYS.Context类型索引。当使用prepared语句在表中获取数据时,搜索查询不能处理像-、/、_等特殊字符。

String query = "select * from parties where contains (party_name ,'%' || ? || '%')>0";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, searchName);
select * from parties where contains(party_name,'c/o')>0;

共有1个答案

公孙黎昕
2023-03-14

关于如何在准备好的语句中使用包含,请参阅这个问题。带有CONTAINS查询的

如果上面的didint的工作方式如下,则必须在查询中使用escape

SELECT * FROM BIRDS WHERE SPECIES='Williamson's Sapsucker 
statement.executeQuery("SELECT * FROM BIRDS  WHERE SPECIES='Williamson/'s Sapsucker' {escape '/'}");

参考http://www.jguru.com/faq/view.jsp?eid=8881

 类似资料: