কলামে NULL মান থাকলে একটি কাস্টম মেসেজ (যেমন 'Student Name Is Not Found') এবং নন-নাল হলে অন্য মেসেজ ('Student Name Found') দেখাতে IF() ফাংশন ব্যবহার করা হয়।
টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE DemoTable1953 (StudentName VARCHAR(20));
mysql> INSERT INTO DemoTable1953 VALUES ('Chris'), (NULL), ('David'), (NULL);
ডেটা যাচাই
mysql> SELECT * FROM DemoTable1953;
+-------------+ | StudentName | +-------------+ | Chris | | NULL | | David | | NULL | +-------------+
কোয়েরি: IF() দিয়ে কাস্টম কলাম তৈরি
mysql> SELECT StudentName,
IF(StudentName IS NULL, 'Student Name Is Not Found', 'Student Name Found') AS Name
FROM DemoTable1953;
আউটপুট:
+-------------+---------------------------+ | StudentName | Name | +-------------+---------------------------+ | Chris | Student Name Found | | NULL | Student Name Is Not Found | | David | Student Name Found | | NULL | Student Name Is Not Found | +-------------+---------------------------+
IF() সিনট্যাক্স
IF(condition, value_if_true, value_if_false)
IF() vs CASE WHEN vs COALESCE
| ফাংশন | ব্যবহার | উদাহরণ |
|---|---|---|
| IF(cond, t, f) | সিম্পল বাইনারি শর্ত | IF(col IS NULL, 'N/A', col) |
| CASE WHEN ... THEN ... ELSE ... END | বহু-শর্ত, জটিল লজিক | CASE WHEN x>10 THEN 'High' WHEN x>5 THEN 'Med' ELSE 'Low' END |
| COALESCE(v1, v2, ...) | প্রথম নন-নাল মান | COALESCE(phone, email, 'No contact') |
| IFNULL(v1, v2) | ২ আর্গুমেন্ট, MySQL-স্পেসিফিক | IFNULL(col, 'N/A') |
সর্বোত্তম অনুশীলন
- NULL চেকে সবসময়
IS NULL/IS NOT NULLব্যবহার করুন (= NULLকাজ করে না)। - সিম্পল ফলব্যাকের জন্য
COALESCE()বাIFNULL()বেশি পঠনীয়। IF()শুধু তখন ব্যবহার করুন যেই সত্য/মিথ্যা ভিত্তিতে দুটি ভিন্ন আউটপুট দরকার।