我有一长段 PL/SQL,除了 where 子句的一小部分外,它运行良好。
我希望应该返回一行,但是由于 where 子句检查的字段为空,因此尽管满足条件,但不会返回该行。
我在这里读到了一个很好的说明: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 中都有空值。
任何帮助是极大的赞赏。
谢谢。