泛舟湖上清波郎朗
在SQL中,对null值和任何其他值(包括其他值)null)使用比较运算符(例如=, !=, <,等)会导致null,被认为是false为了WHERE子句的目的(严格地说,它是“不正确”,而不是“假”,但效果是一样的)。理由是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 = nullunion allselect 'x != null', x, y from t where x != nullunion allselect 'not (x = null)', x, y from t where not (x = null)union allselect 'x = y', x, y from t where x = yunion allselect 'not (x = y)', x, y from t where not (x = y);只返回一行(如预期的):TEST X Yx = y 1 1看到这个在运行SQLFiddle