NVL(value, default) è la funzione che stai cercando.
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 ha 5 funzioni relative a NULL:
- NVL
- NVL2
- COALESCE
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
NVL ti consente di sostituire null (restituito come uno spazio vuoto) con una stringa nei risultati di una query. Se espr1 è nullo, NVL restituisce espr2. Se espr1 non è nullo, NVL restituisce espr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 consente di determinare il valore restituito da una query in base al fatto che un'espressione specificata sia nulla o meno. Se espr1 non è nullo, NVL2 restituisce espr2. Se espr1 è nullo, NVL2 restituisce espr3.
COALESCE
COALESCE(expr1, expr2, ...)
COALESCE restituisce la prima espr non nulla nell'elenco delle espressioni. Almeno un expr non deve essere il NULL letterale. Se tutte le occorrenze di expr restituiscono null, la funzione restituisce null.
NULLIF
NULLIF(expr1, expr2)
NULLIF confronta espr1 ed espr2. Se sono uguali, la funzione restituisce null. Se non sono uguali, la funzione restituisce expr1. Non è possibile specificare il NULL letterale per expr1.
LNNVL
LNNVL(condition)
LNNVL fornisce un modo conciso per valutare una condizione quando uno o entrambi gli operandi della condizione possono essere nulli.
Maggiori informazioni sulle funzioni Oracle SQL