శూన్య విలువ అనేది ఖాళీగా ఉంచబడిన లేదా కేటాయించబడిన విలువ లేని ఫీల్డ్.
డేటాబేస్లలో NULL విలువలు సాధారణంగా ఉంటాయి, ప్రత్యేకించి బాహ్య డేటాను దిగుమతి చేస్తున్నప్పుడు. అందువల్ల, ఒక నిలువు వరుస NULL విలువలను నిరోధించే పరిమితిని కలిగి ఉండకపోతే, డేటాబేస్ ఇంజిన్ తప్పిపోయిన విలువ కోసం NULL విలువను ఉపయోగిస్తుంది.
NULL విలువలు సాధారణమైనప్పటికీ, డేటాబేస్ పని చేయడానికి విలువ లేనందున అవి డేటాబేస్ సమస్యలకు దారితీయవచ్చు. అందువల్ల, మీ ప్రశ్నలలో NULL విలువలను నిర్వహించడానికి చర్యలను వర్తింపజేయడం మంచి పద్ధతి.
ఈ పోస్ట్లో, మీ డేటాబేస్లో ఆపరేషన్ లోపాలను కలిగించే అవకాశం తక్కువగా ఉండే డిఫాల్ట్ విలువను కలిగి ఉండేలా ఇచ్చిన పట్టికలోని NULL విలువలను ఎలా మార్చాలో మేము నేర్చుకుంటాము.
ఒరాకిల్ NVL ఫంక్షన్
పేర్కొన్నట్లుగా, ఈ ఫంక్షన్ NULL విలువలను మరింత అర్థవంతమైన విలువలతో భర్తీ చేయడానికి అనుమతిస్తుంది. ఫంక్షన్ సింటాక్స్ క్రింద అందించబడింది:
NVL ( expr1, expr2 ) ;
ఫంక్షన్ రెండు ప్రధాన వాదనలను అంగీకరిస్తుంది:
expr1 మరియు expr2 - ఈ పరామితి NULL విలువల కోసం పరీక్షించాల్సిన విలువను నిర్వచిస్తుంది. expr1 విలువ NULL అయితే, ఫంక్షన్ expr2 విలువను అందిస్తుంది.
రెండు వ్యక్తీకరణలు ఒకే విధమైన లేదా విభిన్న డేటా రకాలను కలిగి ఉండవచ్చు. సంబంధిత డేటా రకాలు భిన్నంగా ఉంటే, డేటాబేస్ ఇంజిన్ డేటా రకాలతో అనుకూలతను అనుమతించడానికి అవ్యక్త మార్పిడిని చేయవచ్చు. సంబంధిత డేటా రకాలను మార్చడం అసాధ్యం అయితే, డేటాబేస్ ఇంజిన్ లోపాన్ని విసురుతుంది.
ఒరాకిల్ NVL() ఫంక్షన్ ఉదాహరణ వినియోగం
కింది ఉదాహరణ NVL() ఫంక్షన్ యొక్క ప్రాథమిక వినియోగాన్ని ప్రదర్శిస్తుంది:
ఉదాహరణ 1
కింది ఉదాహరణను పరిగణించండి:
ఎంచుకోండి lvl ( 'హలో' , 'ప్రపంచం' ) ద్వంద్వ నుండి;మునుపటి ఉదాహరణలో, స్ట్రింగ్ ‘హలో’ NULL విలువ కాదా అని పరీక్షించడానికి మేము NVL() ఫంక్షన్ని ఉపయోగిస్తాము. అందించిన విలువ శూన్యం కానందున, ఫంక్షన్ 'హలో' అనే స్ట్రింగ్ను అందిస్తుంది.
ఉదాహరణ 2
దిగువ చూపిన రెండవ ఉదాహరణను పరిగణించండి:
ఎంచుకోండి lvl ( శూన్య, 'ప్రపంచం' ) ద్వంద్వ నుండి;ఈ సందర్భంలో, మొదటి వ్యక్తీకరణ NULL విలువ అయినందున, ప్రశ్న దిగువ చూపిన విధంగా రెండవ స్ట్రింగ్ను అందిస్తుంది:
ఉదాహరణ 3
మేము డేటాబేస్ పట్టికలో NULl విలువలను భర్తీ చేయడానికి NVL() ఫంక్షన్ని కూడా ఉపయోగించవచ్చు. దిగువ చూపిన ఉద్యోగుల పట్టికను పరిగణించండి:
ఎంచుకోండి FIRST_NAME, LAST_NAME, EMAIL, SALARY, COMMISSION_PCT నుండి EMPLOYEES emp;ఫలిత పట్టిక:
మనం చూడగలిగినట్లుగా, కమీషన్_పిక్ట్ కాలమ్ NULl విలువలను కలిగి ఉంటుంది. దిగువ ఉదాహరణలో చూపిన విధంగా, కమిషన్_pct నిలువు వరుస నుండి 0తో NULL విలువలను భర్తీ చేయడానికి మేము ప్రశ్నను సృష్టించవచ్చు:
ఎంచుకోండి FIRST_NAME, LAST_NAME, EMAIL, SALARY, nvl ( COMMISSION_PCT, 0 )ఉద్యోగులు emp నుండి;
మునుపటి ఉదాహరణ ప్రశ్నలో, NULLల కోసం కమిషన్_pct కాలమ్లోని విలువను పరీక్షించడానికి మేము NVL() ఫంక్షన్ని ఉపయోగిస్తాము. NULL విలువ ఉంటే, మేము 0ని తిరిగి ఇస్తాము. లేకపోతే, అసలు విలువను తిరిగి ఇస్తాము.
దిగువ పట్టికలో చూపిన విధంగా నిలువు వరుసలోని NULL విలువలను 0తో భర్తీ చేయడానికి ఇది మమ్మల్ని అనుమతిస్తుంది:
మేము దీన్ని అప్డేట్ స్టేట్మెంట్తో ఉపయోగించవచ్చు లేదా ఫలిత విలువను టేబుల్ వ్యూలో నిల్వ చేయవచ్చు.
ముగింపు
ఈ ట్యుటోరియల్లో, NULL విలువలను డిఫాల్ట్ విలువలతో భర్తీ చేయడానికి Oracle NVL() ఫంక్షన్ను ఎలా ఉపయోగించాలో మీరు నేర్చుకున్నారు. NVL() ఫంక్షన్ COALESCE() ఫంక్షన్ని పోలి ఉన్నప్పటికీ, NVL() ఫంక్షన్ ఒకే విలువను మాత్రమే అందించగలదని గుర్తుంచుకోవడం మంచిది. అదే సమయంలో, coalesce() ఫంక్షన్ బహుళ విలువలను అందించగలదు.
మీరు coalesce() ఫంక్షన్ని ఉపయోగించకుండా రెండు కంటే ఎక్కువ ఆర్గ్యుమెంట్లను తీసుకోగల ఫంక్షన్ కోసం చూస్తున్నట్లయితే, NVL2() ఫంక్షన్ను పరిగణించండి.