CAST(CAST((isnull(c.total_count, 0) - isnull(d .total_count, 0)) * 100/ isnull(d .total_count, 0)
AS decimal(10,4)) AS varchar(50)) + '%'
如下图,显示的是-39.0000%,4位小数都成了0显示,实际是有数字的。请问计算出35.2568%这种效果怎么写法?
printf("%0.4f%",n);
表示打印n,保留小数点后四位,然后打印最后在添加一个%
你先别纠结最终结果为什么不对,你把c.total_count,d .total_count都单独拿出一列来显示,看到底是什么数
很明显d .total_count比c.total_count大,所以你拿它当分母,那你是不是应该用d减去c呀,而不是倒过来