我对SQL server有以下查询:
SELECT SUM(ISNULL(CurrentVendorLastPurchCost, 0)) AS TheSum FROM VW_Report_AvailableInventory WITH(NOLOCK)
我正在运行它的表是空的。给定ISNULL子句,我希望它返回0。
但是,它返回NULL。
我看了很多帖子并尝试了各种不同的代码组合,但没有一个产生我想要的结果。
我做错了什么?
答案 0 :(得分:2)
由于您的表格为空,因此您没有任何值可以应用ISNULL
函数,SUM
对空集的结果为NULL
。
在求和时你不应该关心null
值。要解决您的问题,请使用:
SELECT ISNULL(SUM(CurrentVendorLastPurchCost), 0) AS TheSum
FROM VW_Report_AvailableInventory WITH(NOLOCK)
答案 1 :(得分:2)
您不需要ISNULL
内SUM
。把它换成总和。尝试。
SELECT ISNULL(SUM(CurrentVendorLastPurchCost), 0) AS TheSum FROM VW_Report_AvailableInventory WITH(NOLOCK)