将NULL添加到整数以获取SQL Server中的整数结果

时间:2014-07-15 11:06:07

标签: sql sql-server sql-server-2008 tsql sql-function

我说一个表,包含整数值,但我不确定它们是否也包含NULL 。现在假设我要添加整数(以及任何NULL)以将结果作为整数即使中间的任何列都是NULL。

知道 ISNULL()函数和 COALESCE()函数。但我宁愿不使用任何这些。 Nor 我想使用 CASE 。我知道 CASE 会做我想要的,但我正在寻找更好的东西。

就像我们有 CONCAT_NULL_YIELDS_NULL 一样,以确保当字符串连接到空值时,结果不为空。

我想要类似这个选项的东西。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您应该只使用这些功能。假设你不能:

SELECT SUM(MyIntCol) --filters out NULLs automatically

SELECT CASE WHEN MyIntCol IS NOT NULL THEN MyIntCol ELSE 0 END --default value 0

答案 1 :(得分:1)

这不是一个真正的答案,但它可能是运行MS SQL Server 2012或更新的人的解决方案。

SELECT IIF(<NullableColumn1> is null, 0, <NullableColumn1>)
+ IIF(<NullableColumn2> is null, 0, <NullableColumn12) ...
FROM <YourTable>

但是我认为,当使用CASE时,引擎将执行相同的操作。