将null转换为0

时间:2010-12-13 02:59:14

标签: jasper-reports

我试图这样做,

((PREPAYMENT_AMT!= null时的情况)然后0其他(PREPAYMENT_AMT)END)

为什么它仍然无效?

2 个答案:

答案 0 :(得分:0)

因为如果它不是null,你将它改为0。你需要AMT == null

答案 1 :(得分:0)

我知道在SQL中,null不等于任何东西,因为它是未知值。一个人怎么能和另一个人不等?这没有道理。有特殊的运算符来处理null。

(case when (PREPAYMENT_AMT IS NULL) then 0 else (PREPAYMENT_AMT) END) 

大多数SQL语言中还有一些函数可以执行您想要的操作。在MS SQL Server中,ISNULL(PREPAYMENT_AMT, 0)将执行您想要的操作。在MySQL中,它是COALESCE(PREPAYMENT_AMT, 0)

您应该知道我不知道ireport是什么,所以请检查您的文档以了解如何处理空值。