如果总和值均为null,如何使SQL Server SUM返回null

时间:2018-10-31 09:49:58

标签: sql-server

我有一个带有列数字的表。该列可以具有空值。我需要SUM所有值,但是如果所有值都是NULL,它应该返回NULL,但是如果至少一个值不为null,它应该返回总和。

有这样的功能吗?从表中选择Func?(列)?

  • NULL + NULL => NULL(我真的需要将此为NULL而不是0)
  • 0 + NULL => 0
  • 0 + 0 => 0

1 个答案:

答案 0 :(得分:1)

SUM中的NULLNULL

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;

这分别返回值NULL00