COALESCE() ফাংশন আর্গুমেন্ট তালিকা থেকে **প্রথম নন-নাল (NOT NULL) মান** রিটার্ন করে। এটি একাধিক কলামে যেকোনো একটি মানের উপস্থিতি চেক করতে বা ফলব্যাক মান দিতে কাজে আসে।
টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE DemoTable1927 (
StudentName VARCHAR(20),
StudentSubject VARCHAR(20)
);
mysql> INSERT INTO DemoTable1927 VALUES
('Chris', 'MySQL'),
('David', NULL),
(NULL, 'MongoDB');
ডেটা যাচাই
mysql> SELECT * FROM DemoTable1927;
+-------------+----------------+ | StudentName | StudentSubject | +-------------+----------------+ | Chris | MySQL | | David | NULL | | NULL | MongoDB | +-------------+----------------+
COALESCE ব্যবহার
mysql> SELECT COALESCE(StudentName, StudentSubject) AS Result
FROM DemoTable1927;
আউটপুট:
+---------+ | Result | +---------+ | Chris | | David | | MongoDB | +---------+
ব্যাখ্যা
- ১ম সারি: `StudentName` = 'Chris' (নন-নাল) → 'Chris' রিটার্ন।
- ২য় সারি: `StudentName` = 'David' (নন-নাল) → 'David' রিটার্ন (StudentSubject NULL হলেও)।
- ৩য় সারি: `StudentName` NULL, `StudentSubject` = 'MongoDB' → 'MongoDB' রিটার্ন।
COALESCE vs IFNULL vs IF
| ফাংশন | আর্গুমেন্ট সংখ্যা | স্ট্যান্ডার্ড | উদাহরণ |
|---|---|---|---|
| COALESCE | ২ বা অধিক | ANSI SQL | COALESCE(a, b, c, 'N/A') |
| IFNULL | সঠিক ২ | MySQL-স্পেসিফিক | IFNULL(a, 'N/A') |
| IF | ৩ (condition, true, false) | MySQL-স্পেসিফিক | IF(a IS NULL, 'N/A', a) |