Орацле НВЛ функција

Oracle Nvl Funkcija



Нулл вредност је поље које је остављено празно или му није додељена вредност.

НУЛЛ вредности су уобичајене у базама података, посебно када се увозе спољни подаци. Стога, осим ако колона не садржи ограничење за спречавање НУЛЛ вредности, машина базе података ће вероватно користити НУЛЛ вредност за вредност која недостаје.







Иако су НУЛЛ вредности уобичајене, оне могу довести до проблема са базом података јер база података нема вредност за рад. Стога је добра пракса да примените радње за руковање НУЛЛ вредностима у вашим упитима.



У овом посту ћемо научити како да конвертујемо НУЛЛ вредности у датој табели да садржи подразумевану вредност за коју је мања вероватноћа да ће изазвати грешке у раду у вашој бази података.



Орацле НВЛ функција

Као што је поменуто, ова функција нам омогућава да заменимо НУЛЛ вредности смисленијим вредностима. Синтакса функције је дата у наставку:





НВЛ ( израз1, израз2 ) ;

Функција прихвата два главна аргумента:

израз1 и израз2 – овај параметар дефинише вредност која се тестира за НУЛЛ вредности. Ако је вредност екпр1 НУЛЛ, функција ће вратити вредност екпр2.



Оба израза могу имати сличне или различите типове података. Ако се одговарајући типови података разликују, машина базе података може извршити имплицитну конверзију да би омогућила компатибилност са типовима података. Ако је немогуће конвертовати одговарајуће типове података, механизам базе података ће приказати грешку.

Пример употребе Орацле НВЛ() функције

Следећи пример показује основну употребу функције НВЛ():

Пример 1

Размотрите следећи пример:

изаберите лвл ( 'Здраво' , 'свет' ) од дуал;

У претходном примеру користимо функцију НВЛ() да тестирамо да ли је стринг „здраво“ вредност НУЛЛ. Пошто наведена вредност није нула, функција ће вратити стринг „здраво“.

Пример 2

Размотрите други пример приказан испод:

изаберите лвл ( нула, 'свет' ) од дуал;

У овом случају, пошто је први израз НУЛЛ вредност, упит ће вратити други стринг као што је приказано у наставку:

Пример 3

Такође можемо користити функцију НВЛ() да заменимо НУЛл вредности у табели базе података. Размотрите табелу запослених која је приказана у наставку:

изаберите ФИРСТ_НАМЕ, ЛАСТ_НАМЕ, ЕМАИЛ, САЛАРИ, ЦОММИССИОН_ПЦТ од ЕМПЛОИЕЕС емп;

Добијена табела:

Као што видимо, колона Цоммиссион_пцт садржи НУЛл вредности. Можемо да креирамо упит да заменимо НУЛЛ вредности из колоне Цоммиссион_пцт са 0, као што је приказано у примеру испод:

изаберите ФИРСТ_НАМЕ, ЛАСТ_НАМЕ, ЕМАИЛ, ПЛАТА, нвл ( ЦОММИССИОН_ПЦТ, 0 )
од ЗАПОСЛЕНИХ емп;

У претходном примеру упита користимо функцију НВЛ() да тестирамо вредност у колони Цоммиссион_пцт за НУЛЛ. Ако постоји вредност НУЛЛ, враћамо 0. У супротном, враћамо оригиналну вредност.

Ово би требало да нам омогући да заменимо НУЛЛ вредности у колони са 0, као што је приказано у табели испод:

Можемо да користимо ово са наредбом УПДАТЕ или да сачувамо резултујућу вредност у приказу табеле.

Закључак

У овом водичу сте научили како да користите Орацле НВЛ() функцију да замените НУЛЛ вредности подразумеваним вредностима. Добро је имати на уму да иако функција НВЛ() веома личи на функцију ЦОАЛЕСЦЕ(), функција НВЛ() може да врати само једну вредност. Истовремено, функција цоалесце() може вратити више вредности.

Ако тражите функцију која може узети више од два аргумента без употребе функције цоалесце(), размислите о функцији НВЛ2().