สำหรับเรื่องนี้ ใช้ฟังก์ชัน COALESCE() ของ MySQL ครับ
สร้างตารางตัวอย่าง
mysql> create table DemoTable (
Value1 int,
Value2 int
);
Query OK, 0 rows affected (0.51 sec)
เพิ่มข้อมูลตัวอย่าง
mysql> insert into DemoTable values(100, 200); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable values(NULL, 90); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(NULL, NULL); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values(600, NULL); Query OK, 1 row affected (0.12 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable;
ผลลัพธ์
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 100 | 200 | | NULL | 90 | | NULL | NULL | | 600 | NULL | +--------+--------+ 4 rows in set (0.00 sec)
คำสั่งถือ NULL เป็น 0 และบวกค่าสองคอลัมน์
mysql> SELECT COALESCE(Value1, 0) + COALESCE(Value2, 0) AS Sum from DemoTable;
ผลลัพธ์
+------+ | Sum | +------+ | 300 | | 90 | | 0 | | 600 | +------+ 4 rows in set (0.00 sec)
คำอธิบาย: COALESCE(คอลัมน์, 0) คืนค่าคอลัมน์ถ้าไม่ใช่ NULL มิฉะนั้นคืน 0 ทำให้สามารถบวกกันได้โดยไม่ได้ผลลัพธ์เป็น NULL