• ベストアンサー

ORACLEのLIKE演算子について

いつも拝見させて頂いております。 ORACLEのLIKE演算子についての質問です。ある抽出条件 をシステムで作成して、その抽出条件を元にNOTで括って正反対 の抽出条件を作成したいと思っています。しかし抽出条件の中にL IKE演算子が含まれていて、パターンマッチングの抽出条件が存 在する場合にNOTで括って正反対の抽出条件を作成すると、NU LLのデータが含まれなくなってしまい、正しい結果が得られませ ん。LIKE演算子はNOT演算子を付加するとNULLデータは 抽出できないものなのでしょうか。ご存じの方がいらっしゃいまし たらご教授頂けないでしょうか。宜しくお願い致します。 WHERE NOT ( 抽出条件 ) ↑このような感じ

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

抽出速度が犠牲になっていいのなら・・・ WHERE NOT ( NVL(a, 'NULL' ) LIKE b ) フェッチするたびに変換が行われるので遅くなります。 また、aにインデックスが張ってあっても無視されます。

その他の回答 (1)

回答No.1

nullは「is null」以外では何やっても抽出できなかったような、、、(´-`) where not(a like b) or a is null

s_yasuaki
質問者

お礼

早速の回答ありがとうございます。 「IS NULL」は現在、システムで抽出条件を事前に作成 している都合上、文字列解析をして埋め込まなければな らなくなるため、避けたかったのですが、やはりIS NULL しか、解決策はないのですかねぇ。

関連するQ&A