ওরাকল এনভিএল ফাংশন

Orakala Enabhi Ela Phansana



একটি নাল মান হল একটি ক্ষেত্র যা ফাঁকা ছেড়ে দেওয়া হয়েছে বা কোনো নির্ধারিত মান নেই।

ডাটাবেসে NULL মানগুলি সাধারণ, বিশেষ করে যখন বাহ্যিক ডেটা আমদানি করা হয়। অতএব, যদি না একটি কলামে NULL মান প্রতিরোধ করার জন্য একটি সীমাবদ্ধতা থাকে, ডাটাবেস ইঞ্জিন সম্ভবত একটি অনুপস্থিত মানের জন্য একটি NULL মান ব্যবহার করবে।







যদিও NULL মানগুলি সাধারণ, তবে তারা ডাটাবেসের সমস্যার দিকে নিয়ে যেতে পারে কারণ ডাটাবেসের সাথে কাজ করার কোনও মূল্য নেই। অতএব, আপনার প্রশ্নগুলিতে NULL মানগুলি পরিচালনা করার জন্য অ্যাকশন প্রয়োগ করা একটি ভাল অভ্যাস।



এই পোস্টে, আমরা শিখব কিভাবে একটি প্রদত্ত টেবিলে NULL মানগুলিকে একটি ডিফল্ট মান ধারণ করতে যা আপনার ডাটাবেসে অপারেশন ত্রুটির সম্ভাবনা কম।



ওরাকল এনভিএল ফাংশন

উল্লিখিত হিসাবে, এই ফাংশনটি আমাদের আরও অর্থপূর্ণ মানের সাথে NULL মান প্রতিস্থাপন করতে দেয়। ফাংশন সিনট্যাক্স নীচে দেওয়া হয়:





এনভিএল ( expr1, expr2 ) ;

ফাংশন দুটি প্রধান আর্গুমেন্ট গ্রহণ করে:

expr1 এবং expr2 - এই প্যারামিটারটি NULL মানের জন্য পরীক্ষা করা মান নির্ধারণ করে। expr1 এর মান NULL হলে, ফাংশনটি expr2 এর মান প্রদান করবে।



উভয় অভিব্যক্তি একই বা ভিন্ন ডেটা প্রকার থাকতে পারে। সংশ্লিষ্ট ডাটা টাইপ ভিন্ন হলে, ডাটাবেস ইঞ্জিন ডাটা টাইপের সাথে সামঞ্জস্যের জন্য অন্তর্নিহিত রূপান্তর করতে পারে। যদি সংশ্লিষ্ট ডেটা প্রকারগুলিকে রূপান্তর করা অসম্ভব হয়, তবে ডাটাবেস ইঞ্জিন একটি ত্রুটি নিক্ষেপ করবে।

ওরাকল NVL() ফাংশন উদাহরণ ব্যবহার

নিম্নলিখিত উদাহরণটি NVL() ফাংশনের মৌলিক ব্যবহার প্রদর্শন করে:

উদাহরণ 1

নিম্নলিখিত উদাহরণ বিবেচনা করুন:

নির্বাচন করুন lvl ( 'হ্যালো' , 'বিশ্ব' ) দ্বৈত থেকে;

আগের উদাহরণে, আমরা NVL() ফাংশন ব্যবহার করে পরীক্ষা করি যে স্ট্রিং 'হ্যালো' একটি NULL মান কিনা। যেহেতু প্রদত্ত মানটি শূন্য নয়, ফাংশনটি 'হ্যালো' স্ট্রিংটি ফেরত দেবে।

উদাহরণ 2

নীচে দেখানো দ্বিতীয় উদাহরণ বিবেচনা করুন:

নির্বাচন করুন lvl ( শূন্য, 'বিশ্ব' ) দ্বৈত থেকে;

এই ক্ষেত্রে, যেহেতু প্রথম এক্সপ্রেশনটি একটি NULL মান, কোয়েরিটি নীচে দেখানো হিসাবে দ্বিতীয় স্ট্রিংটি ফিরিয়ে দেবে:

উদাহরণ 3

ডাটাবেস টেবিলে NULl মান প্রতিস্থাপন করতে আমরা NVL() ফাংশন ব্যবহার করতে পারি। নীচে দেখানো কর্মচারীদের টেবিল বিবেচনা করুন:

নির্বাচন করুন EMPLOYEES emp থেকে FIRST_NAME, LAST_NAME, EMAIL, SALARY, COMMISSION_PCT;

ফলাফল টেবিল:

আমরা দেখতে পাচ্ছি, Commission_pct কলামে NULl মান রয়েছে। আমরা কমিশন_পিসিটি কলাম থেকে শূন্য মানগুলিকে 0 দিয়ে প্রতিস্থাপন করতে একটি প্রশ্ন তৈরি করতে পারি, যেমনটি নীচের উদাহরণে দেখানো হয়েছে:

নির্বাচন করুন FIRST_NAME, LAST_NAME, EMAIL, SALARY, nvl ( COMMISSION_PCT, 0 )
EMPLOYEES emp থেকে;

পূর্ববর্তী উদাহরণের ক্যোয়ারীতে, NULL-এর জন্য Commission_pct কলামে মান পরীক্ষা করতে আমরা NVL() ফাংশন ব্যবহার করি। যদি একটি NULL মান থাকে, আমরা 0 প্রদান করি। অন্যথায়, আমরা মূল মান ফেরত দিই।

এটি আমাদের কলামের NULL মানগুলিকে 0 দিয়ে প্রতিস্থাপন করার অনুমতি দেবে, যেমনটি নীচের সারণীতে দেখানো হয়েছে:

আমরা এটি একটি আপডেট স্টেটমেন্টের সাথে ব্যবহার করতে পারি বা একটি টেবিল ভিউতে ফলস্বরূপ মান সংরক্ষণ করতে পারি।

উপসংহার

এই টিউটোরিয়ালে, আপনি শিখেছেন কিভাবে Oracle NVL() ফাংশন ব্যবহার করে NULL মানকে ডিফল্ট মান দিয়ে প্রতিস্থাপন করতে হয়। এটা মনে রাখা ভালো যে যদিও NVL() ফাংশনটি COALESCE() ফাংশনের সাথে ঘনিষ্ঠভাবে সাদৃশ্যপূর্ণ, NVL() ফাংশন শুধুমাত্র একটি মান প্রদান করতে পারে। একই সময়ে, coalesce() ফাংশন একাধিক মান ফেরত দিতে পারে।

আপনি যদি এমন একটি ফাংশন খুঁজছেন যা coalesce() ফাংশন ব্যবহার না করে দুটির বেশি আর্গুমেন্ট নিতে পারে, NVL2() ফাংশনটি বিবেচনা করুন।