在SQL中,对null值和任何其他值(包括其他值)null)使用比较运算符(例如=, !=,
理由是null意思是“未知”,所以与null也是“未知”。因此,您将不会通过编码在行上命中。where my_column = null.
SQL提供了用于测试列是否为null.class=‘class 2’>is null和is not null,这是测试null(或者不是null).
下面是一些SQL,显示了各种条件及其效果,如上面所示。
create table t (x int, y int);
insert into t values (null, null), (null, 1), (1, 1);
select 'x = null' as test , x, y from t where x = null
union all
select 'x != null', x, y from t where x != null
union all
select 'not (x = null)', x, y from t where not (x = null)
union all
select 'x = y', x, y from t where x = y
union all
select 'not (x = y)', x, y from t where not (x = y);
只返回一行(如预期的):
TEST X Y
x = y 1 1