在查询中将Round与ISNULL结合使用

时间:2013-10-08 16:20:37

标签: sql ms-access

我已经四处寻找但未找到答案。是否可以在访问SQL查询中组合Round,Sum和isnull?我一直在尝试编写以下查询:

ROUND(sum(iif(isnull(amount,0,amount))),2) as Amount

然而,我对上述或其他变化没有成功。我的SQL存在缺陷吗?

如果我的SQL有缺陷,如果有人能够为我提供正确的语法,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

在Access ISNULL()中接受一个参数并返回一个布尔值,指示传递的表达式是否为null。在您的查询中,您有3个参数传递给ISNULL

isnull(amount,0,amount)

要拆开它,首先需要检查金额是否为空:

IIF(ISNULL(Amount), 0, Amount)

然后添加SUM

SUM(IIF(ISNULL(Amount), 0, Amount))

最后添加ROUND

ROUND(SUM(IIF(ISNULL(Amount), 0, Amount)), 2) AS Amount