gpt4 book ai didi

sql-server - 如何防止sql语句被零除错误

转载 作者:行者123 更新时间:2023-12-02 23:31:42 25 4
gpt4 key购买 nike

我正在创建一些报告,这些报告采用有限总数(假设为 2,500)的产品(在本例中假设为冰淇淋甜筒),并计算其中有多少在上菜前被打破。

现在我已经记下了 splinter 锥体的实际计数代码。

SELECT COUNT(broken_cones) FROM [ice].[ice_cream_inventory] 
WHERE broken_cones = 'Yes'

但是,我还需要这个总数中 splinter 锥体的百分比。我一直在摆弄代码,但我一直遇到下面这段代码的“除以零”错误。

SELECT CAST(NULLIF((.01 * 2500)/Count(broken_cones), 0) AS 
decimal(7,4)) FROM [ice].[ice_cream_inventory] WHERE broken_cones = 'Yes'

目前,没有任何 splinter 的锥体(并且一段时间内不会),因此现在的总数为零。如何将 NULL 情况显示为零?

我试图在混合中放置一个 ISNULL 语句,但我不断收到“除以零”错误。我这样做对吗?

::编辑::

这就是我最终得到的结果。

SELECT 
CASE
WHEN COUNT(broken_cones) = 0 then 0
ELSE CAST(NULLIF((.01 * 2500)/Count(broken_cones), 0) AS decimal(7,4))
END
FROM [ice].[ice_cream_inventory] WHERE broken_cones = 'Yes'

最佳答案

使用 case 语句。

SELECT 
CASE WHEN COUNT(broken_cones) = 0 then 0
ELSE CAST(NULLIF((.01 * 2500)/Count(broken_cones), 0) AS decimal(7,4)) END
FROM [ice].[ice_cream_inventory] WHERE broken_cones = 'Yes'

关于sql-server - 如何防止sql语句被零除错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23230041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com