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

本文通过一个实际案例解析了在SQL查询中使用!=null和is not null的区别。!=null在默认情况下可能无法按预期工作,而is not null则能更准确地排除NULL值,确保查询结果的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

却发现发挥的list为空

很是诧异

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

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

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

找到了,根据条件因素的唯一变化原理,我很明智的判断出了是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”。

希望对你有所帮助

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值