Oracle NVL funkcija

Oracle Nvl Funkcija



Nulles vērtība ir lauks, kas ir atstāts tukšs vai kuram nav piešķirtas vērtības.

NULL vērtības ir izplatītas datu bāzēs, īpaši, importējot ārējos datus. Tāpēc, ja vien kolonna nesatur ierobežojumu, lai novērstu NULL vērtības, datu bāzes programma, iespējams, izmantos NULL vērtību trūkstošai vērtībai.







Lai gan NULL vērtības ir izplatītas, tās var izraisīt datubāzes problēmas, jo datu bāzei nav vērtības, ar ko strādāt. Tāpēc ir laba prakse piemērot darbības, lai jūsu vaicājumos apstrādātu NULL vērtības.



Šajā ziņojumā mēs uzzināsim, kā konvertēt NULL vērtības dotajā tabulā, lai ietvertu noklusējuma vērtību, kas, visticamāk, neizraisīs darbības kļūdas jūsu datu bāzē.



Oracle NVL funkcija

Kā minēts, šī funkcija ļauj aizstāt NULL vērtības ar nozīmīgākām vērtībām. Funkciju sintakse ir norādīta zemāk:





NVL ( expr1, expr2 ) ;

Funkcija pieņem divus galvenos argumentus:

expr1 un expr2 – šis parametrs nosaka vērtību, kas jāpārbauda NULL vērtībām. Ja izteiksmes1 vērtība ir NULL, funkcija atgriezīs izteiksmes2 vērtību.



Abām izteiksmēm var būt līdzīgi vai atšķirīgi datu tipi. Ja atbilstošie datu tipi atšķiras, datu bāzes programma var veikt netiešu konvertēšanu, lai nodrošinātu saderību ar datu tipiem. Ja nav iespējams konvertēt atbilstošos datu tipus, datu bāzes programma parādīs kļūdu.

Oracle NVL() funkcijas piemērs lietojums

Šis piemērs parāda funkcijas NVL() pamata lietojumu:

1. piemērs

Apsveriet šādu piemēru:

izvēlieties LVL ( 'Sveiki' , 'pasaule' ) no duāla;

Iepriekšējā piemērā mēs izmantojam funkciju NVL(), lai pārbaudītu, vai virkne 'hello' ir NULL vērtība. Tā kā norādītā vērtība nav nulle, funkcija atgriezīs virkni “sveiki”.

2. piemērs

Apsveriet otro piemēru, kas parādīts zemāk:

izvēlieties LVL ( nulles, 'pasaule' ) no duāla;

Šajā gadījumā, tā kā pirmā izteiksme ir NULL vērtība, vaicājums atgriezīs otro virkni, kā parādīts tālāk:

3. piemērs

Mēs varam arī izmantot funkciju NVL(), lai aizstātu NULl vērtības datu bāzes tabulā. Apsveriet tālāk redzamo darbinieku tabulu:

izvēlieties FIRST_NAME, LAST_NAME, EMAIL, ALGA, COMMISSION_PCT no EMPLOYEES emp;

Rezultātu tabula:

Kā redzam, kolonnā Commission_pct ir NULl vērtības. Mēs varam izveidot vaicājumu, lai aizstātu NULL vērtības no kolonnas Commission_pct ar 0, kā parādīts tālāk esošajā piemērā:

izvēlieties FIRST_NAME, LAST_NAME, EMAIL, SALARY, nvl ( COMMISSION_PCT, 0 )
no DARBINIEKI emp;

Iepriekšējā vaicājuma piemērā mēs izmantojam funkciju NVL(), lai pārbaudītu vērtību kolonnā Commission_pct attiecībā uz NULL. Ja ir NULL vērtība, mēs atgriežam 0. Pretējā gadījumā mēs atgriežam sākotnējo vērtību.

Tam vajadzētu ļaut mums aizstāt NULL vērtības kolonnā ar 0, kā parādīts iegūtajā tabulā:

Mēs to varam izmantot ar UPDATE priekšrakstu vai saglabāt iegūto vērtību tabulas skatā.

Secinājums

Šajā apmācībā jūs uzzinājāt, kā izmantot Oracle NVL() funkciju, lai aizstātu NULL vērtības ar noklusējuma vērtībām. Ir labi paturēt prātā, ka, lai gan funkcija NVL() ļoti līdzinās funkcijai COALESCE(), funkcija NVL() var atgriezt tikai vienu vērtību. Tajā pašā laikā funkcija coalesce() var atgriezt vairākas vērtības.

Ja meklējat funkciju, kas var izmantot vairāk nekā divus argumentus, neizmantojot funkciju coalesce (), apsveriet funkciju NVL2 ().