sql >> Databáze >  >> RDS >> Oracle

Sečíst sloupce s hodnotami null v oracle

NVL (hodnota, výchozí) je funkce, kterou hledáte.

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 má 5 funkcí souvisejících s NULL:

  1. NVL
  2. NVL2
  3. COALESCE
  4. NULLIF
  5. LNNVL

NVL :

NVL(expr1, expr2)

NVL vám umožňuje nahradit hodnotu null (vrácenou jako prázdnou) řetězcem ve výsledcích dotazu. Pokud má výraz expr1 hodnotu null, pak NVL vrátí výraz výraz2. Pokud výraz expr1 není null, pak NVL vrátí výraz expr1.

NVL2 :

NVL2(expr1, expr2, expr3)

NVL2 vám umožňuje určit hodnotu vrácenou dotazem na základě toho, zda je zadaný výraz null či nikoli. Pokud výraz expr1 není null, pak NVL2 vrátí výraz expr2. Pokud je výraz expr1 null, pak NVL2 vrátí výraz expr3.

COALESCE

COALESCE(expr1, expr2, ...)

COALESCE vrátí první nenulový výraz v seznamu výrazů. Alespoň jeden výraz nesmí mít doslovnou hodnotu NULL. Pokud jsou všechny výskyty výrazu vyhodnoceny jako null, funkce vrátí hodnotu null.

NULLIF

NULLIF(expr1, expr2)

NULLIF porovnává expr1 a expr2. Pokud jsou stejné, funkce vrátí hodnotu null. Pokud se nerovnají, funkce vrátí expr1. Pro výraz expr1 nelze zadat doslovnou hodnotu NULL.

LNNVL

LNNVL(condition)

LNNVL poskytuje stručný způsob vyhodnocení podmínky, kdy jeden nebo oba operandy podmínky mohou být nulové.

Další informace o Oracle SQL Functions



  1. Vyhledejte, zda je číslo obsaženo ve výrazu jako:1-3,5,10-15,20

  2. MySQL vyhledávání necitlivé na diakritiku (španělské akcenty)

  3. Dotaz na porovnání dat v SQL

  4. Psaní dotazu pro více tabulek v php