将两列数据加到一个

时间:2018-07-10 05:56:20

标签: sql sql-server

我的报告中有两列,如下所示:

ABC    XYZ
-------------
NULL   1
NULL   NULL
5      NULL 
4      8
NULL   1
8     NULL

我想将这两个值相加,并需要如下所示的最终结果

1
NULL
5
12
1
8

请帮助。

预先感谢

4 个答案:

答案 0 :(得分:7)

我想这就是你想要的。

Select 
      Case WHEN (ABC is null AND XYZ is null) THEN NULL 
           ELSE (Coalesce(ABC,0) + Coalesce(XYZ,0)) END as [sum]
from table

答案 1 :(得分:2)

在添加之前使用ISNULL()检查NULL值

NULLIF(ISNULL(ABC, 0) + ISNULL(XYZ, 0), 0)

答案 2 :(得分:1)

SELECT ISNULL(ABC, 0) + ISNULL(XYZ , 0) AS SUM FROM  table ;

这适用于MS Sql Server

答案 3 :(得分:1)

DECLARE @Table AS TABLE (ABC INT, XYZ INT);

INSERT INTO @Table
VALUES (NULL, 1)
, (NULL, NULL)
, (5, NULL)
, (4, 8)
, (NULL, 1)
, (8, NULL);

SELECT  ABC
,       XYZ
,       CASE WHEN   ABC IS NULL
              AND   XYZ IS NULL THEN NULL
             ELSE ISNULL(ABC, 0) + ISNULL(XYZ, 0)
        END AS Result
  FROM  @Table;

那应该为你做。