NVL(value, default) ist die gesuchte Funktion.
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 hat 5 NULL-bezogene Funktionen:
- NVL
- NVL2
- VEREINIGUNG
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
Mit NVL können Sie null (als Leerzeichen zurückgegeben) in den Ergebnissen einer Abfrage durch eine Zeichenfolge ersetzen. Wenn expr1 null ist, gibt NVL expr2 zurück. Wenn expr1 nicht null ist, gibt NVL expr1 zurück.
NVL2 :
NVL2(expr1, expr2, expr3)
Mit NVL2 können Sie den von einer Abfrage zurückgegebenen Wert basierend darauf bestimmen, ob ein bestimmter Ausdruck null ist oder nicht. Wenn expr1 nicht null ist, gibt NVL2 expr2 zurück. Wenn expr1 null ist, gibt NVL2 expr3 zurück.
VEREINIGUNG
COALESCE(expr1, expr2, ...)
COALESCE gibt den ersten Nicht-Null-Ausdruck in der Ausdrucksliste zurück. Mindestens ein Ausdruck darf nicht das Literal NULL sein. Wenn alle Vorkommen von expr zu null ausgewertet werden, gibt die Funktion null zurück.
NULLIF
NULLIF(expr1, expr2)
NULLIF vergleicht expr1 und expr2. Wenn sie gleich sind, gibt die Funktion null zurück. Wenn sie nicht gleich sind, gibt die Funktion expr1 zurück. Sie können für expr1 nicht das Literal NULL angeben.
LNNVL
LNNVL(condition)
LNNVL bietet eine präzise Möglichkeit, eine Bedingung auszuwerten, wenn einer oder beide Operanden der Bedingung null sein können.
Weitere Informationen zu Oracle SQL-Funktionen