我试图计算处理量与目标量的百分比。我已经能够分别计算出工作量和目标量,但是当我试图得到百分比时,我的结果会不断地四舍五入到最接近的整数,我将它们转换为十进制,因为我希望结果是十进制的,而不是百分比。
(CAST(COUNT(job_id) AS DECIMAL)/
(CAST(ROUND(SUM(review_time)/1000,2)/MAX(CAST(target_review_time AS DECIMAL)) AS DECIMAL))) AS Percentage
任何帮助都将不胜感激,谢谢
2条答案
按热度按时间3npbholx1#
您正面临整数除法。操作的所有操作数都是整数,因此结果也是整数。
可以通过将其中一个操作数转换为十进制来强制十进制上下文:
那你就可以了
round()
将结果精确到所需的精度:注:如果
job_id
是不可为空的COUNT(job_id)
写得更有效COUNT(*)
.cyej8jka2#
这基本上就是你想要的吗?
如果是的话,对整个表达式进行强制转换。