- ベストアンサー
ORACLEのLIKE演算子について
いつも拝見させて頂いております。 ORACLEのLIKE演算子についての質問です。ある抽出条件 をシステムで作成して、その抽出条件を元にNOTで括って正反対 の抽出条件を作成したいと思っています。しかし抽出条件の中にL IKE演算子が含まれていて、パターンマッチングの抽出条件が存 在する場合にNOTで括って正反対の抽出条件を作成すると、NU LLのデータが含まれなくなってしまい、正しい結果が得られませ ん。LIKE演算子はNOT演算子を付加するとNULLデータは 抽出できないものなのでしょうか。ご存じの方がいらっしゃいまし たらご教授頂けないでしょうか。宜しくお願い致します。 WHERE NOT ( 抽出条件 ) ↑このような感じ
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
抽出速度が犠牲になっていいのなら・・・ WHERE NOT ( NVL(a, 'NULL' ) LIKE b ) フェッチするたびに変換が行われるので遅くなります。 また、aにインデックスが張ってあっても無視されます。
その他の回答 (1)
- sun_supinel
- ベストアンサー率35% (7/20)
回答No.1
nullは「is null」以外では何やっても抽出できなかったような、、、(´-`) where not(a like b) or a is null
お礼
早速の回答ありがとうございます。 「IS NULL」は現在、システムで抽出条件を事前に作成 している都合上、文字列解析をして埋め込まなければな らなくなるため、避けたかったのですが、やはりIS NULL しか、解決策はないのですかねぇ。