mysql 算术比较时null的数据无效

实际问题:在项目中使用了a表左连接b表,a表有数据b表的数据为null,假设b表其中一个字段为pid,where条件后有一句pid <>0,就是pid不为0,无查询结果。一开始怀疑是不是自己的sql语句有啥问题,竟然啥都查不出来。

解决方法:拆分sql,分成两三个步骤运行,结果发现字段等于null的情况下,用算术运算符比较会失效。

例子:一个表的原数据如下

使用算术比较之后如下:查询addr不为0的数据,没有结果

SELECT * from test WHERE addr <> 0

null为特殊值,算数比较比较时,null不是有效值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值