【问题标题】:Oracle SOA query with wildcards needed需要使用通配符的 Oracle SOA 查询
【发布时间】:2012-03-02 14:33:57
【问题描述】:

所以我正在构建一个接受单个参数的查询。该参数基本上是可能出现在列中的字符串。

SELECT ID, SEARCH_STRING 
FROM SEARCH_RESULTS 
WHERE UPPER(SEARCH_STRING) LIKE UPPER('%test%');

上面的查询完全符合预期。它在表中查找并返回 test 出现在搜索字符串列中的所有记录。

现在我的实际问题。在 SOA 中,我创建了将作为搜索值的参数。价值。基本上查询结束了

SELECT ID, SEARCH_STRING 
FROM SEARCH_RESULTS 
WHERE UPPER(SEARCH_STRING) LIKE UPPER(#VALUE)

但是我失去了保留通配符的能力。我试过 (%#VALUE%)、('%'#VALUE'%') 和 ('%#VALUE%') 都不起作用。

谢谢大家

【问题讨论】:

  • 我不熟悉 SOA,但这可能有用:...WHERE UPPER(SEARCH_STRING) LIKE '%'||UPPER(#VALUE)||'%';
  • @JeffreyKemp:发表您的评论作为答案^^。
  • 谢谢 Jeffrey 串联成功了。处理参数时,您不能直接附加通配符,因为参数会自动直接添加值的格式,因此直接在参数旁边添加 % 不起作用。我想昨晚深夜做同样的事情,今天早上第一件事就是测试它。

标签: sql oracle soa wildcard


【解决方案1】:

好的.... :)

...WHERE UPPER(SEARCH_STRING) LIKE '%'||UPPER(#VALUE)||'%';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多