mysql 中is not null 和 !=null的区别

今天做定时任务,需要用到一个mysql查询

于是我就写: sqlcondition=" and fplsh!=null and iskp='2'"

却发现发挥的list为空

很是诧异

于是我把SQL语句放到navicate中执行,发现一条数据也查不到

mysql 中is not null 和 !=null的区别

 很是苦闷,不应该啊,明明有数据

于是我看到!=null看着有点不顺眼啊,我改成 is not null 

mysql 中is not null 和 !=null的区别

找到了,根据条件因素的唯一变化原理,我很明智的判断出了是is not null 和!=null的区别

我知道了他们的区别,但是为什么

好奇的我在百度上查找了一下:

mysql 中is not null 和 !=null的区别

看来这种问题有人问过,

我点击去看看吧

在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”。

希望对你有所帮助