sql >> Databasteknik >  >> RDS >> Oracle

Summa kolumner med nollvärden i oracle

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:

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



  1. Data med öppen källkod växer upp:Välj MySQL, NoSQL eller båda

  2. ST_HexagonGrid geomvektor för att hitta alla punkter

  3. Storleksgräns för JSON-datatyp i PostgreSQL

  4. Hitta rader där textmatrisen innehåller värde som liknar indata