MySQL-এ SELECT কোয়েরিতে NULL মান প্রতিস্থাপন করার ৩টি পদ্ধতি
কোয়েরি রান করার সময় NULL মান অন্য কোনো ডিফল্ট মান দিয়ে দেখাতে চাইলে তিনটি পদ্ধতি ব্যবহার করা যায়: IFNULL(), COALESCE(), এবং CASE WHEN।
পদ্ধতি ১: IFNULL()
SELECT IFNULL(yourColumnName, 'defaultValue') AS AliasName FROM yourTableName;
পদ্ধতি ২: COALESCE()
SELECT COALESCE(yourColumnName, 'defaultValue') AS AliasName FROM yourTableName;
COALESCE একাধিক আর্গুমেন্ট নিতে পারে: COALESCE(col1, col2, col3, 'default') — প্রথম non-NULL মানটি রিটার্ন করে।
পদ্ধতি ৩: CASE WHEN
SELECT CASE WHEN yourColumnName IS NULL THEN 'defaultValue' ELSE yourColumnName END AS AliasName FROM yourTableName;
উদাহরণ
টেবিল তৈরি ও ডেটা ইনসার্ট
mysql> CREATE TABLE ReplaceNULLDemo (Id INT NOT NULL AUTO_INCREMENT, Name VARCHAR(10), Marks INT, PRIMARY KEY(Id));
mysql> INSERT INTO ReplaceNULLDemo(Name, Marks) VALUES('Larry', 90), ('Carol', NULL), ('David', NULL), ('Bob', 67), ('Sam', 78), ('Mike', NULL), ('John', 98);
আউটপুট (আসল)
+----+-------+-------+ | Id | Name | Marks | +----+-------+-------+ | 1 | Larry | 90 | | 2 | Carol | NULL | | 3 | David | NULL | | 4 | Bob | 67 | | 5 | Sam | 78 | | 6 | Mike | NULL | | 7 | John | 98 | +----+-------+-------+
কেস ১: IFNULL() — NULL কে 0 করুন
mysql> SELECT IFNULL(Marks, 0) AS ReplacementOfNULLWith0 FROM ReplaceNULLDemo;
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+
কেস ২: COALESCE() — NULL কে 0 করুন
mysql> SELECT COALESCE(Marks, 0) AS ReplacementOfNULLWith0 FROM ReplaceNULLDemo;
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+
কেস ৩: CASE WHEN — NULL কে 0 করুন
mysql> SELECT CASE WHEN Marks IS NULL THEN 0 ELSE Marks END AS ReplacementOfNULLWith0 FROM ReplaceNULLDemo;
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+
সারাংশ: IFNULL সরল ২ আর্গুমেন্টের জন্য। COALESCE একাধিক ফলব্যাকের জন্য। CASE জটিল লজিকের জন্য।