Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyDatabázové systémy v biomedicíně Funkce a operátory v SQL Funkce Funkce nahrazující NULL

Logo Matematická biologie

Funkce nahrazující NULL

NULL hodnotu lze ve výsledku nahrazovat konstantou nebo hodnotou jiného sloupce pomocí funkcí NVL, NVL2, COALESCE. Funkce NVL a NVL2 lze požít pouze v databázi ORACLE, funkce COALESCE je dostupná v ORACLE i PGSQL.

Funkce NVL vyhodnotí první parametr a pokud je NULL, výsledkem je druhý parametr. Pokud první parametr není NULL, je výsledkem funkce první parametr. 

  • SELECT NVL(NULL, 0) FROM DUAL - výsledek je 0
  • SELECT NVL(5, 0) FROM DUAL - výsledek je 5
  • SELECT NVL(cena, 0) FROM zbozi - výsledkem je buď hodnota ve sloupci cena nebo 0, pokud není na daném řádku cena uvedena. 

Funkce NVL2 má o parametr víc, druhý parametr je výsledkem funkce v případě, kdy první parametr není NULL, třetí parametr je výsledkem, pokud první parametr je NULL.  

  • SELECT NVL2(999,0,1) FROM DUAL - výsledek je 0, protože  999 není NULL

Funkce COALESCE má neomezený počet parametrů a jejím výsledkem je první NOT NULL parametr. 

  • SELECT COALESCE (cena_akce, cena_prodej, cena_nakup, 0) FROM zbozi -

testuje pro každý řádek tabulky zbozi postupně jednotlivé sloupce a vrátí tu hodnotu, která není NULL.

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity