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

MySQL-এ IFNULL() ফাংশন দিয়ে NULL মানকে ০ দিয়ে প্রতিস্থাপন করা

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 মান রিটার্ন করে)।

  1. MySQL কোয়ারীতে 'Empty set' প্রতিস্থাপন করা

  2. MySQL IN() 절에 단일 값만 지정해도 되나요?

  3. MySQL-এ GREATEST() ফাংশন ব্যবহার করে একাধিক কলামে NULL আছে কিনা যাচাই করা

  4. MySQL-এ IF() ফাংশন দিয়ে NOT NULL মান માટે ১ এবং NULL জন্য ০ দেখানো