MySQL-এ COALESCE() ফাংশন ব্যবহার করে NULL মানকে যেকোনো ডিফল্ট স্ট্রিং বা মান দিয়ে প্রতিস্থাপন করা যায়। এটি ANSI SQL স্ট্যান্ডার্ড এবং একাধিক আর্গুমেন্ট নেয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(100)
-> );
Query OK, 0 rows affected (0.85 sec)
mysql> INSERT INTO DemoTable VALUES('John');
mysql> INSERT INTO DemoTable VALUES(NULL);
mysql> INSERT INTO DemoTable VALUES(NULL);
mysql> INSERT INTO DemoTable VALUES('David');
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+-------+ | Name | +-------+ | John | | NULL | | NULL | | David | +-------+ 4 rows in set (0.00 sec)
COALESCE() ব্যবহার করে NULL কে 'Not Valid' দিয়ে প্রতিস্থাপন
mysql> SELECT COALESCE(Name, 'Not Valid') FROM DemoTable;
আউটপুট
+-----------------------------+ | COALESCE(Name, 'Not Valid') | +-----------------------------+ | John | | Not Valid | | Not Valid | | David | +-----------------------------+ 4 rows in set (0.00 sec)
ব্যাখ্যা: COALESCE(val1, val2, ..., valN) বাম থেকে ডানে যাচাই করে প্রথম নন-NULL মান রিটার্ন করে। এখানে Name NULL হলে 'Not Valid' রিটার্ন হয়েছে।
IFNULL()과의 পার্থক্য: IFNULL() শুধু ২টি আর্গুমেন্ট নেয় (MySQL-নির্দিষ্ট), COALESCE() একাধিক নেয় এবং পোর্টেবল।