SQL NULL ফাংশন
SQL ISNULL(), NVL(), IFNULL() এবং COALESCE() ফাংশন
নিম্নের "Student_result" টেবিলটি লক্ষ্য করুনঃ
আইডি নং | রোল নাম্বার | লিখিত নাম্বার | এমসিকিউ নাম্বার | ফলাফল |
---|---|---|---|---|
১ | ১০১ | ৫১ | ৩৬ | A+ |
২ | ১০২ | ৫২ | ৩৫ | A+ |
৩ | ১০৩ | ৫৪ | ৩০ | A+ |
৪ | ১০৪ | ৫০ | ৩১ | A+ |
৫ | ১০৫ | ৪৯ | ৩৩ | A+ |
ধরুন "এমসিকিউ নাম্বার(Mcq_number)" কলামটি ঐচ্ছিক এবং ইহা Null
ভ্যালু ধারণ করতে পারে।
নিম্নের উদাহরণটি লক্ষ করুনঃ
SELECT Roll_number, (Written_number+Mcq_number)
FROM Student_result;
উপরের উদাহরণে যদি "এমসিকিউ নাম্বার(Mcq_number)" কলামের ভ্যালু Null
হয় তাহলে ফলাফলও Null
হবে।
Null
এর ভ্যালু নির্ধারণের জন্য মাইক্রোসফট ISNULL()
ফাংশন ব্যবহার করে।
NVL()
, IFNULL()
এবং COALESCE()
ফাংশন গুলোও একই কাজ করে।
Null
ফাংশন ব্যবহারের উদ্দেশ্য হলো আমরা Null
ভ্যালুর পরিবর্তে 0(শূন্য) পেতে চাই।
ISNULL()
ফাংশন ব্যবহার করলে "এমসিকিউ নাম্বার(Mcq_number)" কলামের কোন মান Null
হলেও হিসাব-নিকাশে কোন সমস্যা হবে না, কারন প্রতিটি Null
ভ্যালুর জন্য ISNULL()
ফাংশনটি একটি 0(শূন্য) রিটার্ন করবেঃ
SELECT Roll_number, (Written_number+IIF(ISNULL(Mcq_number),0,Mcq_number))
FROM Student_result;
SELECT Roll_number, (Written_number+ISNULL(Mcq_number,0))
FROM Student_result;
ওরাকলে কোনো ISNULL()
ফাংশন নেই। ওরাকলে আমরা ISNULL()
এর পরিবর্তে NVL()
ফাংশনটি ব্যবহার করবোঃ
SELECT Roll_number, (Written_number+NVL(Mcq_number,0))
FROM Student_result;
MySQL এ ISNULL()
ফাংশন আছে। তবুও ইহা মাইক্রোসফট ISNULL()
ফাংশনের চেয়ে একটু ভিন্ন ভাবে কাজ করে।
MySQL এ আমরা IFNULL()
ফাংশনটি ব্যবহার করবোঃ
SELECT Roll_number, (Written_number+IFNULL(Mcq_number,0))
FROM Student_result;
অথবা আমরা COALESCE()
ফাংশনটি ব্যবহার করতে পারিঃ
SELECT Roll_number, (Written_number+COALESCE(Mcq_number,0))
FROM Student_result;