Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

บวกค่าสองคอลัมน์ โดยถือ NULL เป็นศูนย์ใน MySQL

สำหรับเรื่องนี้ ใช้ฟังก์ชัน 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