SQL逻辑运算符.. AND&OR组合

时间:2019-06-26 15:11:22

标签: sql

我有一个具有以下过滤条件的sql代码

Select * from TABLE A
Where Col1<>0
and(col2 is not null or col3 is not null)

请解释为什么当col2和col3上的记录都为NULL时为什么我在输出中看不到任何记录。

如何评估?

1 个答案:

答案 0 :(得分:0)

Col1的空检查应该是第一个条件。如果Col1为null,则使用例如Col1 = 0或Col1 <> 0将始终返回false。下面是在Col1中处理空值的另一种方法。

Select * from TABLE A
Where isnull(Col1, 0) <> 0
and col2 is not null