gpt4 book ai didi

带有 CONTAINS 查询的 Java 准备语句

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:09 24 4
gpt4 key购买 nike

我有一个搜索查询,它必须使用包含搜索来搜索表中的列。列上有 ctxsys.context 类型索引。使用准备语句从表中获取数据时,搜索查询无法处理特殊字符,如 -、/、_ 等。

这是我的代码 -

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

该代码适用于没有特殊字符的文本。

当我在 sqlDeveloper 中运行以下查询时,它运行良好。

select * from parties where contains(party_name,'c/o')>0;

请建议我应该对准备好的语句进行哪些更改以使其也适用于特殊字符。

最佳答案

有关如何在准备好的语句中使用包含,请参阅此问题。 PreparedStatement with CONTAINS query

如果上述方法不起作用,您必须在查询中使用转义符喜欢

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

关于带有 CONTAINS 查询的 Java 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com