MySQL-এ সিম্পল শর্তসাপেক্ষ লজিকের জন্য CASE WHEN এর বদলে IF() ফাংশন ব্যবহার করা আরও সংক্ষিপ্ত এবং পঠনযোগ্য।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable1593 (PlayerScore INT);
২. ডেটা ইনসার্ট করুন (০ মান সহ)
mysql> INSERT INTO DemoTable1593 VALUES(78), (0), (89), (0);
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1593;
আউটপুট:
+-------------+
| PlayerScore |
+-------------+
| 78 |
| 0 |
| 89 |
| 0 |
+-------------+
৪. IF() ব্যবহার করে ০ কে খালি স্ট্রিং এ কনভার্ট করুন
mysql> SELECT IF(PlayerScore = 0, '', PlayerScore) FROM DemoTable1593;
৫. ফলাফল
+----------------------------------+
| if(PlayerScore=0,'',PlayerScore) |
+----------------------------------+
| 78 |
| |
| 89 |
| |
+----------------------------------+
তুলনা:
-- CASE WHEN (বerbose)
CASE WHEN PlayerScore = 0 THEN '' ELSE PlayerScore END
-- IF() (সংক্ষিপ্ত)
IF(PlayerScore = 0, '', PlayerScore)
নেস্টেড শর্তের জন্য CASE ভালো:
CASE
WHEN PlayerScore = 0 THEN 'Zero'
WHEN PlayerScore > 50 THEN 'High'
ELSE 'Low'
END
NULL হ্যান্ডলিং: IF(PlayerScore = 0, ...) NULL-এ FALSE রিটার্ন করে (NULL = 0 হলো NULL)। NULL চেক করতে IF(PlayerScore IS NULL OR PlayerScore = 0, ...) বা IFNULL()/COALESCE() ব্যবহার করুন।