Oracle Apexで、Oracle Textによる表の全文検索でアプリケーションを開発しています。アプリケーションは、このようなクエリを持っている:それはドメイン索引CONTAINS関数のOracle Textバインド変数。 null値を扱うには?
| 60 | TABLE ACCESS BY INDEX ROWID| HD_TASKS | 1257 | 326K| 322 (0)| 00:00:04 |
|* 61 | DOMAIN INDEX | CTX_HD_TASKS | | | 4 (0)| 00:00:01 |
を使用しています。しかし、私は私を変更する方法がわからないので、P5がnullでない:場合
select task_id, ...
from vhd_tasks
where contains(hw_sn, :P5)>0
この場合、テキストインデックスは、正常に動作します検索文字列が入力されていない場合は、P5 にnullを処理するクエリ。P5。 私は残念ながら、性能はこの場合には劇的に減少する
select task_id, ...
from vhd_tasks
where (case when :P5 is not null then contains(hw_sn, :P5, 1)
else 1 end)>0
このクエリを試してみました。 CONTAINS関数でnull値を扱う方法はありますか?
があることができますように、それはcoditionを検索しません:。この「%WER」のようなP5別の言葉:ありバインド値で正規表現exprを使用していますか? –