NVL(værdi, standard) er den funktion, du leder 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-relaterede funktioner:
- NVL
- NVL2
- COALESCE
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
NVL lader dig erstatte null (returneret som tom) med en streng i resultaterne af en forespørgsel. Hvis udtr1 er null, returnerer NVL udtr2. Hvis udtr1 ikke er null, returnerer NVL udtr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 giver dig mulighed for at bestemme den værdi, der returneres af en forespørgsel, baseret på om et angivet udtryk er null eller ej. Hvis udtr1 ikke er null, returnerer NVL2 udtr2. Hvis udtr1 er null, returnerer NVL2 udtr3.
COALESCE
COALESCE(expr1, expr2, ...)
COALESCE returnerer det første ikke-null-udtryk i udtrykslisten. Mindst én udtr. må ikke være den bogstavelige NULL. Hvis alle forekomster af expr evalueres til null, returnerer funktionen null.
NULLIF
NULLIF(expr1, expr2)
NULLIF sammenligner udtr1 og udtr2. Hvis de er ens, returnerer funktionen null. Hvis de ikke er ens, returnerer funktionen udtr1. Du kan ikke angive det bogstavelige NULL for udtr1.
LNNVL
LNNVL(condition)
LNNVL giver en kortfattet måde at evaluere en betingelse på, når en eller begge operander af betingelsen kan være nul.
Flere oplysninger om Oracle SQL-funktioner