首页 > 解决方案 > 表达式返回不正确的答案

问题描述

下面是返回错误答案的 SQL 查询中的表达式,但是当我在计算器上编写相同的查询时,它返回相同的结果。

假设 (batch.received_percentage) 的值等于 10,则计算器返回 220.35,但 SQL Server 返回 259.245。

((invoice.unit_price * (1 - (15) / 100))*
((1 - (batch.received_percentage) / 100)))

标签: sqlsql-server

解决方案


SQL Server 进行整数除法。您可以通过更改这些子表达式来解决此问题:

(invoice.unit_price * (1 - (15) / 100.0))

和:

(1 - (batch.received_percentage) / 100.0)

推荐阅读