SUM() คืนค่า NULL สำหรับคอลัมน์ว่างเปล่า
เมื่อฟังก์ชัน SUM() ของ MySQL ได้รับคอลัมน์ที่ไม่มีค่า (ไม่มีแถวข้อมูล) เป็นอาร์กิวเมนต์ จะคืนค่า NULL แทนที่จะเป็น 0 คอลัมน์สามารถเป็นชนิดข้อมูลใดก็ได้
ตัวอย่าง
ตาราง Social มีโครงสร้างดังนี้:
mysql> Describe Social; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> Select * from Social; Empty set (0.00 sec)
ทดสอบกับคอลัมน์ตัวเลข (Id):
mysql> Select SUM(id) from Social; +---------+ | SUM(id) | +---------+ | NULL | +---------+ 1 row in set (0.00 sec)
ทดสอบกับคอลัมน์ตัวอักษร (Name):
mysql> Select SUM(Name) from Social; +-----------+ | SUM(Name) | +-----------+ | NULL | +-----------+ 1 row in set (0.00 sec)
ทั้งสองกรณีคืนค่า NULL แม้ชนิดข้อมูลจะต่างกัน