NULL 不等于 2 为真?

简介:

如果你曾经在SQL语句里面有下面查询

select * from table1 where a<>2

而a 为null时,你会发现没有结果出来,按照常理,Null是空值,肯定不等于2,所以上面这个查询应该返回符合条件的所有值,但实际却没有返回。

最快的例子是下面这句SQL,结果是无值输出,正常应该输出1. 那么这类问题怎么解决?

select 1 where null<>2

 

image

 

第一种:不使用<>

select * from table1 where not (a=2)

第二种:使用isnull替换null值。

select * from table1 where isnull( a,-1)<>2


本文转自 yoke88 51CTO博客,原文链接:http://blog.51cto.com/yoke88/1379750

相关文章
|
7月前
让用户输入x的值,如果x的值如果小于1,y=x,x如果大于等于1并且小于10,y=2x。。。 // x x < 1 // y={ 2X 1<=x
让用户输入x的值,如果x的值如果小于1,y=x,x如果大于等于1并且小于10,y=2x。。。 // x x < 1 // y={ 2X 1<=x
|
7月前
输入一个整数,判断大于0小于0还是等于0
输入一个整数,判断大于0小于0还是等于0
|
28天前
|
Java 数据库连接 mybatis
mybatis中大于等于小于等于的写法
mybatis中大于等于小于等于的写法
9 0
|
3月前
位与运算&小于相等判断==的优先级
位与运算&小于相等判断==的优先级
|
8月前
|
存储 缓存 安全
两个Integer对象比较大小,为什么100等于100,1000不等于1000 ?
前几天,有位小伙伴向我反馈,在维护代码过程中,出现了一个莫名其妙的问题。明明上线之后程序跑得还好好的,可程序上线运行一段时间之后,所有,代码没有做任何修改,发 cxccccc现运行结果和期望值恰好相反。因为涉及到金额造成了比较大的损失,最后,这位小伙伴还被公司辞退了,大家可以来评论一下,这位小伙伴背的这个锅值不值?
61 0
|
10月前
|
关系型数据库 MySQL
NULL 值处理
NULL 值处理
|
10月前
|
机器学习/深度学习
欧拉函数:求小于等于n且与n互质的数的个数
求小于等于n且与n互质的数的个数 互质穷举法 互质:两个数互质代表两者最大公约数为1 最大公约数求法:辗转相除法,最小公倍数:较大值除以最大公约数乘以较小值 辗转相除法: 较大的数a取模较小的数b,得取模值c 若取模值等于0 则最大公约数为取模值,否则继续下一步 a与c再次取模,回到第二步 //求最大公约数gcd以及最大公倍数lcm // 36 24 36/24 // 24 12 24/12 // 0 结束最大公约数为12 // 求最小公倍数 // lcm(a, b) = (a * b)/g
86 0
|
11月前
变量等于0时的判断问题
变量等于0时的判断问题
54 0
|
12月前
|
12月前