1
所以我構建了一個接受單個參數的查詢。該參數基本上是可能出現在列中的字符串。需要通配符的Oracle SOA查詢
SELECT ID, SEARCH_STRING
FROM SEARCH_RESULTS
WHERE UPPER(SEARCH_STRING) LIKE UPPER('%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)||'%';' – 2012-02-10 06:02:56
@JeffreyKemp:發表您的評論作爲答案^^。 – Thinhbk 2012-02-10 06:36:48
謝謝傑弗裏連接技巧。在處理參數時,不能直接附加通配符,因爲參數會自動直接爲該值添加格式,因此直接在參數旁邊添加%不起作用。我雖然昨天晚上做了同樣的事情,今天早上第一件事就是測試它。 – Jeff 2012-02-10 16:55:23