检查值是否为null

时间:2011-01-26 14:05:22

标签: sql mysql

我如何重写以下查询,只有当它们不为空时才会减去CorrectionUsed

select Amount - Correction - Used 
    from CompList 
    where (CompID ='D999999' and  Amount IS NOT NULL) ; 

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

使用COALESCE函数(返回第一个非空值):

select Amount - COALESCE(Correction, 0) - COALESCE(Used, 0) ....

答案 1 :(得分:1)

您也可以使用IFNULL(字段,0)功能。 它可能比COALESCE更快:你必须测试......