暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 请解释为什么不返回null值

askTom 2018-02-19
216

问题描述

从人力资源员工中选择不同的佣金。
如果我运行上面的查询,它返回空值,但如果我运行下面的查询,它没有返回空值。请解释
从hr.employees中选择不同的commission_pct,其中commission_pct <> '.0';

专家解答

将某物与null进行比较的结果是未知的。这也适用于不平等。所以

1> 空 => 未知

查询仅返回条件结果为true的行。

要查找null行,必须使用is null条件:

select count(*) from hr.employees;

COUNT(*)   
       107 

select count(*) from hr.employees
where  commission_pct is null or
       commission_pct > 0;

COUNT(*)   
       107 
复制


我在此视频中更详细地讨论了这一点:


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论