Вы получаете NULL
, потому что NULL + 2
возвращает NULL
. SUM()
имеет только одну строку, и если выражение +
равно NULL
, то SUM()
возвращает NULL
.
Если вы хотите, чтобы NULL
обрабатывался как 0
, используйте COALESCE()
:
SELECT SUM(COALESCE(x_col, 0) + COALESCE(y_col, 0))
FROM TEST_TABLE
WHERE Name = 'Jay';
Одно последнее примечание. Если вы начнете со своих данных и отфильтруете все строки, то результат все равно будет NULL. Чтобы получить 0
, вам понадобится дополнительный COALESCE()
:
SELECT COALESCE(SUM(COALESCE(x_col, 0) + COALESCE(y_col, 0)), 0)
FROM TEST_TABLE
WHERE Name = 'Jayden';