MYSQL中 != 和 is not的区别

2019-11-13  本文已影响0人  莫夏_b560
在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 是等效的。

上一篇 下一篇

猜你喜欢

热点阅读