美文网首页
Oracle Sum with Null

Oracle Sum with Null

作者: ilaoke | 来源:发表于2016-02-19 13:36 被阅读76次

http://www.oracle.com/technetwork/issue-archive/2005/05-jul/o45sql-097727.html

SUM函数会忽略null值!

在求和时,如果将null值替换为0,可使用:

select sum(nvl(column, 0)) from some_table;

但是如果没有一条符合条件的数据呢?

-- 返回null
select sum(nvl(column, 0)) from some_table where 1 != 1;

此时返回null,如果希望结果是0,则使用:

select nvl(sum(column), 0) from some_table;

如果期望返回数值结果,在求和时总是使用:

select nvl(sum(column), 0) from some_table;

多列求和

比如:

select nvl(sum(column1 + column2), 0) from some_table;

如果column1column2任何一个是null,则column1 + column2结果为null,此时可使用:

select nvl(sum(nvl(column1, 0) + nvl(column2, 0)), 0) from some_table;

相关文章

网友评论

      本文标题:Oracle Sum with Null

      本文链接:https://www.haomeiwen.com/subject/hbfvkttx.html