gpt4 book ai didi

java - 通过使用 LIKE 的查询来查询左大括号

转载 作者:行者123 更新时间:2023-12-02 11:16:04 32 4
gpt4 key购买 nike

我们的 Web 应用程序中有一个与 Oracle 配合使用的搜索功能(版本在 Oracle10g 之后),我正在构建 SQL使用 Java 进行查询。

根据documentation ,您在大括号 {..} 中输入的任何内容都会被转义。但是,我也想提供对 { 的搜索,当我尝试搜索包含 { 的字符串时,它会给我一个 org.hibernate。 QueryException:别名路径的大括号不匹配错误,因为它查找右大括号。

到目前为止我已经尝试过的;

...query... WHERE ... LIKE lower('%{{%') ESCAPE '{'

...query... WHERE ... LIKE lower('%\{%') ESCAPE '\'

...query... WHERE ... LIKE lower('%{{}%')

...query... WHERE ... LIKE lower('%CHR(123)%')

...query... WHERE ... LIKE lower('%||CHR(123)||%')

前两个仍然导致错误。其他的不会导致任何错误,但它们不会返回包含 { 的结果。对于这种情况有什么解决办法吗?

PS:我无法使用准备好的语句,因为查询有图例部分。不幸的是,它必须使用字符串手动构建。

PS2:右大括号没有问题 }

最佳答案

LIKE 条件的构造无需字符串连接

...查询... WHERE ... LIKE lower('%||CHR(123)||%') -> ...查询... WHERE ... LIKE ('%'||CHR(123)||'%')

Env to try this out

关于java - 通过使用 LIKE 的查询来查询左大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50278738/

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