关于不可读的SQL和返回结果
我有这个数据库记录
select tran_final_net_bal from transaction where tran_account_id='1021'
tran_final_net_bal
2509.3
-30.7
-2478.6
结果应为0
但是如果我使用以下sql语句
select sum(tran_final_net_bal) AS tran_final_net_bal from transaction where tran_account_id='1021'
返回结果是
tran_final_net_bal
4.54747350886464e-13
如何解决这个问题,以获得0,在这种情况下,这是正确答案。
tran_final_net_bal是" double"型
答案 0 :(得分:0)
好吧,如果你知道可接受的精度是多少,你可以尝试rounding it
select
ROUND(sum(tran_final_net_bal), 10) AS tran_final_net_bal
from transaction where tran_account_id='1021'
答案 1 :(得分:0)
如果这是MySQL,则下面的查询将起作用。
select sum(CAST(tran_final_net_bal AS DECIMAL(10, 2))) AS tran_final_net_bal
from transaction
where tran_account_id='1021';