首页 > 解决方案 > MySQL:添加具有 NULL 值的列

问题描述

这是我的查询:

SELECT (contract_value + amendment_value) AS total_value
FROM contracts
ORDER BY total_value DESC

当我运行它时,每一行的结果都是NULL. 为什么呢?

每行有一个contract_value或一个amendment_value,但不是两者都有。如果没有值,则为 NULL。这可能是问题吗?(我在文档中找不到任何建议)。如果是这样,我该如何解决?

标签: mysqlsql

解决方案


使用COALESCE

SELECT
    COALESCE(contract_value, amendment_value) AS total_value
FROM contracts
ORDER BY total_value DESC;

推荐阅读