NVL(value, default) est la fonction que vous recherchez.
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 a 5 fonctions liées à NULL :
- LNV
- NVL2
- COALESCER
- NULLIF
- LNNVL
LNV :
NVL(expr1, expr2)
NVL vous permet de remplacer null (renvoyé sous forme de blanc) par une chaîne dans les résultats d'une requête. Si expr1 est nul, alors NVL renvoie expr2. Si expr1 n'est pas nul, alors NVL renvoie expr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 vous permet de déterminer la valeur renvoyée par une requête selon qu'une expression spécifiée est nulle ou non nulle. Si expr1 n'est pas nul, alors NVL2 renvoie expr2. Si expr1 est nul, alors NVL2 renvoie expr3.
COALESCER
COALESCE(expr1, expr2, ...)
COALESCE renvoie la première expression non nulle de la liste d'expressions. Au moins une expr ne doit pas être le littéral NULL. Si toutes les occurrences de expr sont évaluées à null, alors la fonction renvoie null.
NULLIF
NULLIF(expr1, expr2)
NULLIF compare expr1 et expr2. S'ils sont égaux, la fonction renvoie null. S'ils ne sont pas égaux, la fonction renvoie expr1. Vous ne pouvez pas spécifier le littéral NULL pour expr1.
LNNVL
LNNVL(condition)
LNNVL fournit un moyen concis d'évaluer une condition lorsqu'un ou les deux opérandes de la condition peuvent être nuls.
Plus d'infos sur les fonctions Oracle SQL