美文网首页
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