SATT ACADEMY

New to Satt Academy? Create an account


or

Log in with Google Account

Database Tutorials - SQL - এসকিউএল ডাটাবেস (SQL Database) | NCTB BOOK

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(শূন্য) রিটার্ন করবেঃ

MS Access এর জন্য

SELECT Roll_number, (Written_number+IIF(ISNULL(Mcq_number),0,Mcq_number))
FROM Student_result;

 


 

SQL Server এর জন্য

SELECT Roll_number, (Written_number+ISNULL(Mcq_number,0))
FROM Student_result;

 


 

ওরাকলে কোনো ISNULL() ফাংশন নেই। ওরাকলে আমরা ISNULL() এর পরিবর্তে NVL() ফাংশনটি ব্যবহার করবোঃ

Oracle এর জন্য

SELECT Roll_number, (Written_number+NVL(Mcq_number,0))
FROM Student_result;

 


 

MySQL এ ISNULL() ফাংশন আছে। তবুও ইহা মাইক্রোসফট ISNULL() ফাংশনের চেয়ে একটু ভিন্ন ভাবে কাজ করে।

MySQL এ আমরা IFNULL() ফাংশনটি ব্যবহার করবোঃ

MySQL এর জন্য

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;
Content added By