美文网首页
MYSQL中 != 和 is not的区别

MYSQL中 != 和 is not的区别

作者: 莫夏_b560 | 来源:发表于2019-11-13 22:43 被阅读0次
在SQL中,NULL是一种特有的数据类型,其等价于没有任何值、是未知数。NULL与0、空字符串、空格都不同。SQL默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误。
非ANSI SQL标准中data=NULL等同于data IS NULL,data<>NULL等同于data IS NOT NULL。
所以:默认情况下做比较条件时使用关键字“is null”和“is not null”。
image.png
select name form table where name !='jack';

该语句只能查出第1行,也就是mike;

select name form table where name !='jack' or name is null;

该语句可以查出第1行和第3行,也就是mike和NULL;

总结:也就是说,!= 和=用来判断具体的值,而NULL需要用is或者is not判断(只能用is或is not,且like或not like不能判断)

如果你一定想要使用 != Null来判断,需要加上这个语句:

set ANSI_NULLS off

这时会发现 is not NULL 和 != null 是等效的。

相关文章

网友评论

      本文标题:MYSQL中 != 和 is not的区别

      本文链接:https://www.haomeiwen.com/subject/utflictx.html