SQL 服务器 ISNULL 不工作

SQL Server ISNULL not working

我对 SQL 服务器有以下查询:

SELECT SUM(ISNULL(CurrentVendorLastPurchCost, 0)) AS TheSum FROM VW_Report_AvailableInventory WITH(NOLOCK)

我运行它所在的table是空的。鉴于 ISNULL 条款,我希望它 return 0.

但是,它 return 为 NULL。

我查看了一些帖子并尝试了各种不同的代码组合,但其中 none 产生了我想要的结果。

我做错了什么??

因为你的 table 是空的,所以你没有任何值可以应用 ISNULL 函数,SUM 在空集上的结果是 NULL。 您不应该关心求和中的 null 值。要解决您的问题,请使用:

SELECT ISNULL(SUM(CurrentVendorLastPurchCost), 0) AS TheSum
FROM VW_Report_AvailableInventory WITH(NOLOCK)

您不需要 SUM 中的 ISNULL。而是将它环绕在总和上。尝试。

SELECT ISNULL(SUM(CurrentVendorLastPurchCost), 0) AS TheSum FROM VW_Report_AvailableInventory WITH(NOLOCK)