SQL除以0错误

时间:2018-06-19 15:16:50

标签: sql

嗨,我有我编写的这段代码,由于某种原因我无法使它工作

round(count(distinct customer)*100.0 /Total_Customer_pop, 2)||'%' as Customer_Signup_Rate

我尝试过ISNULLNULLIF都没有运气

ISNULL(round(count(distinct customer)*100.0 /NULLIF(Total_Customer_pop, 2),0))||'%' as Customer_Signup_Rate

有什么我没看到的东西还是我做错了计算? 任何帮助,将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

您已经弄乱了round()nullif()的参数。只关注分母:

NULLIF(Total_Customer_pop, 0), 2))||'%' as Customer_Signup_Rate

我建议您在SQL中正确获取计算。将数字和百分号的格式留给应用程序。

答案 1 :(得分:0)

我认为这应该可以解决问题

ISNULL(round(count(distinct customer)*100.0 
/ISNULL(NULLIF(Total_Customer_pop, 0), 2),0))||'%' 
as Customer_Signup_Rate

请记住,我想您要使用2为0。