数据库计算错误

时间:2012-11-06 10:28:33

标签: sql-server

以下是我的设定:

result = price / (case when tax = 0 then @tax1h / 100 else @tax2 / 100 end + 1)

这些是值:

price = 17.5
tax = 1
tax2 = 6

17.5 /(6/100 + 1)= 16.5

这会返回17.5为什么会发生这种情况以及如何解决?

1 个答案:

答案 0 :(得分:6)

Integer division

select (6 / 100 + 1)

上述结果为1.

然而,结果:

select (6 / 100.0 + 1)

是1.06。