Было бы полезно пояснить внутреннюю функциональность функции SUM в Oracle при столкновении с нулевыми значениями: 
Результат
select sum(null) from dual;
is null
Но когда нулевое значение находится в последовательности значений (например, сумма столбца с нулевым значением), вычисленное значение нулевого значения будет 0 
select sum(value) from
(
select case when mod(level , 2) = 0 then null else level end as value from dual
connect by level <= 10
)
is 25
Это будет более интересно при просмотре результата
select (1 + null) from dual
is null
Так как любая операция с нулевым значением приведет к null (кроме оператора is null). 
========================== 
 Некоторое обновление из-за комментариев: 
create table odd_table as select sum(null) as some_name from dual;
Результат: 
create table ODD_TABLE
(
  some_name NUMBER
)
Почему столбец some_name имеет тип  номер?