MySQL-এ IFNULL() ফাংশন ব্যবহার করে NULL মানवाले কলামগুলোতে নির্দিষ্ট মান (যেমন ০) সেট করা যায়, নন-NULL মানগুলো অপরিবর্তিত রাখা যায়।
সিনট্যাক্স
IFNULL(expression, value_if_null)
expressionNULL হলেvalue_if_nullরিটার্ন করে- অন্যথায়
expression-র মুল মান রিটার্ন করে
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable817(Value int); Query OK, 0 rows affected (0.53 sec)
mysql> insert into DemoTable817 values(10); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable817 values(null); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable817 values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable817 values(null); Query OK, 1 row affected (0.11 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable817;
+-------+ | Value | +-------+ | 10 | | NULL | | 20 | | NULL | +-------+ 4 rows in set (0.00 sec)
NULL মানগুলো ০ দিয়ে রিপ্লেস করা
mysql> update DemoTable817 set Value=IFNULL(Value,0); Query OK, 2 rows affected (0.17 sec) Rows matched: 4 Changed: 2 Warnings: 0
আপডেট後の রেকর্ড দেখানো
mysql> select * from DemoTable817;
+-------+ | Value | +-------+ | 10 | | 0 | | 20 | | 0 | +-------+ 4 rows in set (0.00 sec)
IFNULL vs COALESCE vs CASE
| ফাংশন | ব্যাখ্যা | উদাহরণ |
|---|---|---|
IFNULL(expr, val) | ২ আর্গুমেন্ট, MySQL-নির্দিষ্ট | IFNULL(col, 0) |
COALESCE(v1, v2, ...) | একাধিক আর্গুমেন্ট, ANSI SQL স্ট্যান্ডার্ড | COALESCE(col1, col2, 0) |
CASE WHEN col IS NULL THEN 0 ELSE col END | সবচেয়ে ফ্লেক্সিবল | জটিল লজিকের জন্য |