การใช้ฟังก์ชัน IFNULL() ใน MySQL
ใน MySQL สามารถแทนค่า NULL ด้วย 0 ได้โดยใช้ฟังก์ชัน IFNULL() ซึ่งมีรูปแบบการใช้งานดังนี้:
IFNULL(นิพจน์ของคุณ, 0);
ตัวอย่างการใช้งาน
เริ่มต้นด้วยการสร้างตารางทดสอบ:
mysql> create table NullDemoWithZero (
-> id varchar(200)
-> );
Query OK, 0 rows affected (0.65 sec)
การเพิ่มข้อมูลทดสอบ
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.16 sec)
mysql> insert into NullDemoWithZero values('123');
Query OK, 1 row affected (0.14 sec)
mysql> insert into NullDemoWithZero values('442');
Query OK, 1 row affected (0.10 sec)
mysql> insert into NullDemoWithZero values('333');
Query OK, 1 row affected (0.13 sec)
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.15 sec)
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.17 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from NullDemoWithZero;
ผลลัพธ์จะแสดงค่า NULL หลายแถว:
+------+ | id | +------+ | NULL | | 123 | | 442 | | 333 | | NULL | | NULL | +------+ 6 rows in set (0.00 sec)
การแปลง NULL เป็น 0
ใช้คำสั่งต่อไปนี้เพื่อคืนค่า 0 เมื่อพบค่า NULL:
select IFNULL(yourColumnName, 0) from yourTableName;
นำไปใช้กับตารางตัวอย่าง:
mysql> select IFNULL(id, 0) from NullDemoWithZero;
ผลลัพธ์
+---------------+ | IFNULL(id, 0) | +---------------+ | 0 | | 123 | | 442 | | 333 | | 0 | | 0 | +---------------+ 6 rows in set (0.00 sec)
สามารถเห็นได้ว่า ค่า NULL ทั้งหมดถูกแทนที่ด้วย 0 เรียบร้อยแล้ว