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)|| '%'; ' –
@JeffreyKemp:あなたのコメントを回答として投稿してください^^。 – Thinhbk
ありがとうございました。ジェフリーの連結がトリックでした。パラメータを扱うときは、ワイルドカードを直接追加することはできません。パラメータが自動的に値の書式を直接追加するため、パラメータのすぐ隣に%を追加しても機能しません。私も同じことを昨晩遅くして、今朝の最初のことをテストしました。有用であるために – Jeff