MySQL-এ কোনো কলামের NULL মানকে নির্দিষ্ট ডিফল্ট মান (যেমন ০) দিয়ে প্রতিস্থাপন করতে IFNULL() ফাংশন ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Value INT
-> );
Query OK, 0 rows affected (0.71 sec)
mysql> INSERT INTO DemoTable(Value) VALUES(100); mysql> INSERT INTO DemoTable(Value) VALUES(140); mysql> INSERT INTO DemoTable(Value) VALUES(200); mysql> INSERT INTO DemoTable(Value) VALUES(450); mysql> INSERT INTO DemoTable(Value) VALUES(NULL); mysql> INSERT INTO DemoTable(Value) VALUES(90); mysql> INSERT INTO DemoTable(Value) VALUES(NULL);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+----+-------+ | Id | Value | +----+-------+ | 1 | 100 | | 2 | 140 | | 3 | 200 | | 4 | 450 | | 5 | NULL | | 6 | 90 | | 7 | NULL | +----+-------+ 7 rows in set (0.00 sec)
NULL কে ০ দিয়ে প্রতিস্থাপন
mysql> SELECT IFNULL(Value, 0) AS Value FROM DemoTable;
আউটপুট
+-------+ | Value | +-------+ | 100 | | 140 | | 200 | | 450 | | 0 | | 90 | | 0 | +-------+ 7 rows in set (0.00 sec)
ব্যাখ্যা: IFNULL(expr, default) — যদি expr NULL না হয়, তবে expr রিটার্ন করে; NULL হলে default রিটার্ন করে। এখানে NULL মানগুলো ০ হিসেবে দেখানো হয়েছে।
বিকল্প: COALESCE(Value, 0) — ANSI SQL স্ট্যান্ডার্ড, একাধিক আর্গুমেন্ট গ্রহণ করে (প্রথম নন-NULL মান রিটার্ন করে)।