কম্পিউটার টিউটোরিয়াল

MySQL-এ NULL কে ০ করুন: IFNULL() বা COALESCE() ফাংশন

দুই ফাংশন দিয়ে NULL হ্যান্ডলিং

MySQL-এ NULL মানকে 0 এ রূপান্তর করতে IFNULL() বা COALESCE() ফাংশন ব্যবহার করা যায়।

সিনট্যাক্স

-- IFNULL (দুই আর্গুমেন্ট)
SELECT IFNULL(yourColumnName, 0) AS aliasName FROM yourTableName;

-- COALESCE (একাধিক আর্গুমেন্ট নেয়)
SELECT COALESCE(yourColumnName, 0) AS aliasName FROM yourTableName;

উদাহরণ (একই টেবিল-दুটি কোয়েরি)

mysql> CREATE TABLE convertNullToZeroDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(20), Salary INT
    -> );
mysql> INSERT INTO convertNullToZeroDemo (Name, Salary) VALUES
    -> ('John',NULL), ('Carol',5610), ('Bob',NULL), ('David',NULL);

IFNULL ফলাফল

mysql> SELECT IFNULL(Salary, 0) AS CONVERT_NULL_TO_0 FROM convertNullToZeroDemo;
+-------------------+
| CONVERT_NULL_TO_0 |
+-------------------+
| 0                 |
| 5610              |
| 0                 |
| 0                 |
+-------------------+

COALESCE ফলাফল

mysql> SELECT COALESCE(Salary, 0) AS CONVERT_NULL_TO_0 FROM convertNullToZeroDemo;
+-------------------+
| CONVERT_NULL_TO_0 |
+-------------------+
| 0                 |
| 5610              |
| 0                 |
| 0                 +
+-------------------+

পার্থক্য: COALESCE ANSI SQL স্ট্যান্ডার্ড এবং একাধিক আর্গুমেন্ট নেয় (COALESCE(a,b,c,0)), IFNULL শুধু MySQL-এ এবং দুটি আর্গুমেন্ট নেয়।

  1. MySQL-এ UK ডেট ফরম্যাট (DD/MM/YYYY) কে স্ট্যান্ডার্ড ডেটে রূপান্তর

  2. MySQL টাইমস্ট্যাম্পকে UNIX টাইমস্ট্যাম্পে রূপান্তর করা

  3. MySQL-এ খালি মান (Empty String) NULL-এ রূপান্তর করা

  4. MySQL-এ TIME_FORMAT দিয়ে HH:MM:SS থেকে HH:MM ফরম্যাটে কনভার্ট করা