2014-04-26 67 views
3

我有一個表,其中A,B和C允許空值。SQL中空列的總和

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

如果我A, B and C10, NULL and NULL,我SUM欄顯示什麼也沒有。

有什麼辦法解決這個問題,並且顯示SUM爲10? OTHER THAN將NULL s轉換爲零?

+1

不需要,您必須將NULL轉換爲零。 –

+2

將NULL值轉換爲零*** IS ***解決方案... –

回答

5

你可以使用SQL COALESCE它使用值列,或替代值,如果列爲空

所以

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

正在將NULL正好轉換爲零.... –

+0

@PaulG我向你鞠躬。完善。謝謝! :D – divinediu

+1

@MitchWheat不在數據庫中,它不是。 – divinediu

1

在這種情況下,你需要使用IsNull(Column, 0),以確保它是始終爲0。

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

ISNULL()決定如何處理空值。如果列返回一個空值,所以你指定了0來返回。