想要查询一个字段的值是不是为null该如何去查询
1 select * from tablename where user = null;
2 select * from tablename where user is null;
测试以上两种方式
很显然 第二种方式 is null的查询方法是正确查询方式,为什么null值要用is关键字呢?在sql中null表示是未知,null值是代表未知不是没有值,
在数据库中null值和空字符串是有区别的
在where后面的条件结果会有三种结果 1.可以是true 此时select 返回值, 2. 是false 此时select 没有返回值,3. 可以是null 此时不会返回数据,
那么返回fals的结果和返回null的结果是一样的,是不是不用在意这些细节? 看下图吧
看明白了吧, 还好where后面返回的null值,不然数据被全部查询出来了,
最后别问别人null是什么东西了,数据库都不知道null是个什么鬼!!!