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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM