oracle使用不等于(<>)条件过滤数据时会把NULL给过滤掉
oracle使用不等于(<>)条件过滤数据时会把NULL给过滤掉
解决方案1:select * from sample where a <> 'A' or a is null;
解决方案2:select * from sample where nvl(a,'default') <> 'A';
mysql在使用不等于(<>)条件过滤数据时也会把NULL给过滤掉
解决方案1:select * from sample where a <> 'A' or a is null;
解决方案2:select * from sample where ifnull(a,'default') <> 'A';
注意:
mysql中的NULL与空字符串('')是不相等的,是两个不同的值
NULL使用is null 或者 is not null判断
空字符串('')使用=''或者<>''进行判断
使用不等于时需要注意会过滤NULL值
count()统计时会忽略掉NULL值,不在统计之中,使用时需要注意
Oracle的NULL等价于空字符串('')
插入空字符串('')会被默认替换成NULL