我正在尝试在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.
有更好的方法吗?并且会将“和”与“或”的方式结合起来,按照我想要的方式工作吗?
答案 0 :(得分:3)
没有。可能有不同的方式来表达它(例如,使用COALESCE
而不是OR
),但无论你做什么,你都必须明确枚举所有列,所以它并不真正差。
更重要的是,x = null
根本不起作用。
您需要使用x IS NULL
。
将“和”与“或”以我想要的方式结合起来
如有疑问,请使用括号:
WHERE a AND (b OR c OR d)