如果你不想要出现空值,SUM(NVL(no_of_calls,0))是正确的。
解决方案 »
- oracle创建视图
- Oracle,toad问题,为什么我在toad里sql Editor编辑器里写了sql语句,我们不能删除和更改了?
- 数据库恢复正常
- 两ORACLE数据库间表的同步
- 在plsql中写了两条语句在pldeveloper分别执行没有问题,一起执行就出错,请问是怎么回事
- Oracle不同登录方式的去别是什么?
- 准备学oracle,想在自己机上装一个oracle,问一下oracle的基本配置是多少啊?
- 各位大侠,请问如何将SQLSERVER的IMAGE类型的数据。导入到ORACLE的BLOB类型的数据(紧急)
- Oracle技术官方中文论坛开通了,高兴!
- 请求帮助
- Oracle有没有这样一个系统表:记录用户所创建的表的信息(表的字段、类型)
- 新建一数据库,请问怎么把它加到ENTERPRISE MANAGER中去(8.1.7)
其实如果列中所有值都为NUll,则sum(no_of_calls)会返回NUll
但nvl又使它转换为0了它们都是先判断是否为null,再进行运算的。
--------------
0SQL> select nvl(sum(null),0) from dual;NVL(SUM(NULL),0)
----------------
0
如果所选的表中根本没记录呢?
select sum(nvl(no_of_calls ,0)) from tablename;
返回的就是null
-------------
you -- is ?
you -- are ! -)))
NVL(SUM(no_of_calls),0)
SUM(NVL(no_of_calls,0))
sum(no_of_calls)
当表中有记录,且no_of_calls有null值时,三者结果一样,都对当表中没有记录时,三者都为null
当表中没有记录时,
NVL(SUM(no_of_calls),0)值为0
其他为null