我正在使用CAST AS DECIMAL并指定所需的精度。这是我的SQL查询的代码段:
CAST(((num/volume)*100) AS decimal(16,8)) AS impact
无论我在十进制参数中输入什么,影响列中的值始终为'0.00'。
情况并非如此,因为我的数字= 5,体积= 81000,所以应该给我带来“ 0.0061”的影响。
[有人可以解释为什么CAST AS DECIMAL不接受我的参数以达到影响列中我要求的精度吗?
您可以使用
(CAST(num AS decimal(16,8)) / CAST(volume AS decimal(16,8))) * 100 AS impact
select CAST(((cast(num as decimal(5,2))/volume)*100) AS decimal(16,8)) AS impact