我如何重写以下查询,只有当它们不为空时才会减去Correction
和Used
。
select Amount - Correction - Used
from CompList
where (CompID ='D999999' and Amount IS NOT NULL) ;
感谢您的帮助。
答案 0 :(得分:3)
使用COALESCE函数(返回第一个非空值):
select Amount - COALESCE(Correction, 0) - COALESCE(Used, 0) ....
答案 1 :(得分:1)
您也可以使用IFNULL(字段,0)功能。 它可能比COALESCE更快:你必须测试......