NVL (значение по умолчанию) - это функция, которую вы ищете.
select type, craft, sum(NVL(regular, 0) + NVL(overtime, 0) ) as total_hours
from hours_t
group by type, craft
order by type, craft
Oracle имеет 5 функций, связанных с NULL:
- NVL
- NVL2
- COALESCE
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
NVL позволяет заменить null (возвращается пустым) на строку в результатах запроса. Если expr1 равен нулю, то NVL возвращает expr2. Если expr1 не ноль, то NVL возвращает expr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 позволяет вам определять значение, возвращаемое запросом, основываясь на том, является ли указанное выражение нулевым или нет. Если expr1 не ноль, то NVL2 возвращает expr2. Если expr1 равен нулю, то NVL2 возвращает expr3.
COALESCE
COALESCE(expr1, expr2, ...)
COALESCE возвращает первый ненулевой expr в списке выражений. По крайней мере, один expr не должен быть буквальным NULL. Если все вхождения expr имеют значение null, то функция возвращает null.
NULLIF
NULLIF(expr1, expr2)
NULLIF сравнивает expr1 и expr2. Если они равны, то функция возвращает ноль. Если они не равны, то функция возвращает expr1. Вы не можете указать литерал NULL для expr1.
LNNVL
LNNVL(condition)
LNNVL предоставляет краткий способ оценки условия, когда один или оба операнда условия могут быть нулевыми.
Подробнее о Функции Oracle SQL