一个小小的sql查询,如果用到不等于!=,很容易由于常规逻辑思维引起莫名其妙的bug,需要小心:
SELECT * FROM table WHERE a !=100
SELECT * FROM table WHERE a !='100'
实际查出来的值,只是a有值且不等于100的数据,如果a为空值(NULL),那么这个数据并不会被匹配查出来
开发时一定要小心注意空值的情况!
如果需要查所有a值不是100的情况,正确的写法应该是加上a值为空的情况:
SELECT * FROM table WHERE a !='100' OR a IS NULL
网友评论