公式返回零而不是正确的金额

时间:2018-09-25 09:59:02

标签: sql-server

SELECT (16/100)*(12200)

此查询返回0,尽管它应返回1952。为什么?

1 个答案:

答案 0 :(得分:2)

因为16/100是整数,所以四舍五入为零。 试试

select CAST(16 AS DECIMAL(20,4))/100*(12200)

或者更好的方法,以减少舍入误差。

select CAST(16*12200 AS DECIMAL(20,4))/100