NVL(värde, standard) är funktionen du letar efter.
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 har 5 NULL-relaterade funktioner:
- NVL
- NVL2
- COALESCE
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
NVL låter dig ersätta null (returneras som tom) med en sträng i resultaten av en fråga. Om expr1 är null, returnerar NVL expr2. Om expr1 inte är null, returnerar NVL expr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 låter dig bestämma värdet som returneras av en fråga baserat på om ett angivet uttryck är null eller inte. Om expr1 inte är null, returnerar NVL2 expr2. Om expr1 är null, returnerar NVL2 expr3.
COALESCE
COALESCE(expr1, expr2, ...)
COALESCE returnerar det första icke-null-uttrycket i uttryckslistan. Minst ett uttryck får inte vara den bokstavliga NULL. Om alla förekomster av expr evalueras till null, returnerar funktionen null.
NULLIF
NULLIF(expr1, expr2)
NULLIF jämför expr1 och expr2. Om de är lika, returnerar funktionen null. Om de inte är lika, returnerar funktionen expr1. Du kan inte ange den bokstavliga NULL för expr1.
LNNVL
LNNVL(condition)
LNNVL ger ett kortfattat sätt att utvärdera ett villkor när en eller båda operanderna av villkoret kan vara null.
Mer information om Oracle SQL-funktioner