Oracle
 sql >> Database >  >> RDS >> Oracle

Somma le colonne con valori nulli in Oracle

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:

  1. NVL
  2. NVL2
  3. COALESCE
  4. NULLIF
  5. 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