SQL中空列的总和

时间:2014-04-26 10:27:25

标签: sql

我有一张表,其中A,B和C允许空值。

SELECT  
   A, B, C, 
   A + B + C AS 'SUM' 
FROM Table

如果我的A, B and C值为10, NULL and NULL,则我的SUM列中不会显示任何内容。

有没有办法解决这个问题,并将SUM显示为10?除了将 NULL 转换为Zeros?

2 个答案:

答案 0 :(得分:5)

您可以使用使用列中值的SQL COALESCE,如果列为null,则使用替代值

所以

SUM ( COALESCE(A,0) + COALESCE(B,0) + COALESCE(C,0))

答案 1 :(得分:1)

在这种情况下,您需要使用IsNull(Column, 0)以确保它始终为0。

SELECT  
   A, B, C, 
   IsNull(A,0) + IsNull(B,0) + IsNull(C,0) AS 'SUM' 
FROM Table

ISNULL()确定当您具有空值时要执行的操作。如果列返回空值,则指定返回0。