我有一个带有列数字的表。该列可以具有空值。我需要SUM
所有值,但是如果所有值都是NULL
,它应该返回NULL
,但是如果至少一个值不为null,它应该返回总和。
有这样的功能吗?从表中选择Func?(列)?
答案 0 :(得分:1)
SUM
中的NULL
是NULL
:
WITH VTE AS (
SELECT CONVERT(int,C1) AS C1, C2, C3
FROM (VALUES(NULL, NULL, 0),
(NULL, 0, 0)) V (C1, C2, C3))
SELECT SUM(C1),
SUM(C2),
SUM(C3)
FROM VTE;
这分别返回值NULL
,0
和0
。