我的报告中有两列,如下所示:
ABC XYZ
-------------
NULL 1
NULL NULL
5 NULL
4 8
NULL 1
8 NULL
我想将这两个值相加,并需要如下所示的最终结果
1
NULL
5
12
1
8
请帮助。
预先感谢
答案 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;
那应该为你做。