在Oracle中,SUM函數會忽略NULL值并對非NULL值進行求和。如果希望在求和過程中考慮NULL值,可以使用NVL函數來替換NULL值為特定的值,然后再使用SUM函數進行求和。
例如,假設有一個表t1包含兩列,其中一列包含NULL值:
SELECT *
FROM t1;
| col1 | col2 |
|------|------|
| 1 | 10 |
| 2 | NULL |
| 3 | 20 |
如果要對col2列進行求和,并將NULL值替換為0,可以使用以下查詢:
SELECT SUM(NVL(col2, 0))
FROM t1;
結果為30,因為SUM函數會對0、10和20進行求和,而忽略NULL值。