如何编写在任何字段中查找null的查询?

时间:2014-09-25 01:16:15

标签: oracle

我正在尝试在Oracle中编写一个查询,该查询将返回表中任何行的计数,并在其满足另一个参数的任何字段中返回null。现在,我只是在使用

select count(*) from my_table where trunc(sent)>(to_date('01-APR-01', 'DD-Mon-YY')) and
field_1=null
or field_2=null
or field_3=null
etc.

有更好的方法吗?并且会将“和”与“或”的方式结合起来,按照我想要的方式工作吗?

1 个答案:

答案 0 :(得分:3)

没有。可能有不同的方式来表达它(例如,使用COALESCE而不是OR),但无论你做什么,你都必须明确枚举所有列,所以它并不真正差。

更重要的是,x = null根本不起作用。

您需要使用x IS NULL

  

将“和”与“或”以我想要的方式结合起来

如有疑问,请使用括号:

WHERE a AND (b OR c OR d)