首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不使用ISNULL()的情况下使用SUM()安全吗?

在不使用ISNULL()的情况下使用SUM()安全吗?
EN

Stack Overflow用户
提问于 2016-05-18 09:22:32
回答 5查看 52.6K关注 0票数 32

我正试图因此而获得SP的表现。我对SUM和ISNULL有一个疑问。当我总结一个专栏时,我应该使用ISNULL吗?如果没有ISNULL,那么使用SUM()安全吗?我的例子如下

代码语言:javascript
复制
SUM(ISNULL(COL1,0))

由于ISNULL成本很高,所以我打算使用以下不带ISNULL的SUM

代码语言:javascript
复制
SUM(COL1)

我做了一些小测试,看不见结果

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-05-18 09:50:36

是的,它很安全。可以在不处理空值的情况下使用Sum。你也可以检查一下。

你也可以这样用。

ISNULL(SUM(COL1),0)

返回表达式中所有值的和,或仅返回不同的值。和只能与数字列一起使用。忽略空值。

参考:https://msdn.microsoft.com/en-IN/library/ms187810.aspx

票数 30
EN

Stack Overflow用户

发布于 2016-05-18 09:35:55

更新的

如果4列中有1、2、NULL、5,则输出为8。

但是,在许多情况下,如果不检查NULLS,则使用SUM()是不安全的。

如果给定子句没有匹配的内容,则可以接收null。如果你在另一个函数中使用这个求和值,这可能是一个值得关注的问题。

这里有更多详细信息:https://msdn.microsoft.com/en-GB/library/ms187810.aspx

也请看一下https://msdn.microsoft.com/en-IN/library/ms190349.aspx合并方法

PS:也可以查看这个post - My Select SUM query returns null. It should return 0

这里有3个不检查NULL的图像,它返回NULL,而不是0。

和与ISNULL检查

和不带ISNULL检查

和合并

票数 8
EN

Stack Overflow用户

发布于 2016-05-18 09:57:55

由于SUM总是忽略空值,所以在执行SUM时使用NULL和ignore并不是强制性的。

有关更多信息,请参考链接:https://msdn.microsoft.com/en-IN/library/ms187810.aspx

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37295336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档