where句の小さな部分を除いて、うまく機能している長いPL/SQLがあります。
1行が返されるはずですが、where句がチェックするフィールドがnullであるため、基準を満たしているにもかかわらず行が返されません。
私はここで非常に良いメモを読みました:
http://jonathanlewis.wordpress.com/2007/02/25/not-in/
Null が NOT IN ステートメントにどのように影響するかを説明しており、NOT LIKE についても同じだと思います。
私が見つけることができなかったのは、必要な同等の代替品です。どういうわけかこれを IN と LIKE に切り替えるか、NUll の場合に行を返すために何かを提供する必要がありますか?
これが私のコードの簡略版です。
SELECT * FROM Temp_Table T
WHERE -- Other where constraints
AND (T.Col_One NOT LIKE 'AString'
OR T.Col_Two NOT IN ('BString','CString'))
私の状況では、行の Col_One と Col_Two の両方に null があります。
どんな助けでも大歓迎です。
ありがとう。