【发布时间】:2015-05-11 18:33:32
【问题描述】:
在 MySQL 中,SELECT 2+NULL FROM tbl_name 将返回 NULL,因为 MySQL 无法将 NULL 解释为数字。
但是如果只有一个值是NULL,为什么SELECT SUM(quantity) FROM tbl_name 不会返回NULL? MIN、MAX、AVG 等也是如此。由于 MySQL 不知道 NULL 可能是什么,所以它不应该为所有指定的函数返回 NULL 吗?
【问题讨论】:
-
聚合函数忽略 NULL 值
Unless otherwise stated, group functions ignore NULL valuesdev.mysql.com/doc/refman/5.6/en/group-by-functions.html -
如果有 NULL 值,这些函数会失败,这将是非常无用的。在这种情况下,MySQL 不会将其解释为零,因为聚合函数将简单地忽略任何 NULL。如果这就是你的意思。