MySQL Round函数返回太多十进制数字,当没有。十进制数字基于列

时间:2012-10-02 13:57:11

标签: mysql

  

可能重复:
  MySql select format, round column

当我使用ROUND(X, D)进行SQL查询时,其中D是列名而不是直接整数值,结果舍得很好,但是有太多十进制数字。

例如,

SELECT b.digits, ROUND(a.amount, b.digits) as amount
FROM a
JOIN b
ON a.number_id = b.id

结果是这样的:

3  357.143000000000000000000000
2   89.290000000000000000000000
4  696.436600000000000000000000
2  214.290000000000000000000000
2  328.570000000000000000000000
2  437.500000000000000000000000

b.digits列包含值必须舍入的数字。可以根据数字得到结果,如下所示:

3  357.143
2   89.29
4  696.4366
2  214.29
2  328.57
2  437.50

1 个答案:

答案 0 :(得分:0)

尝试使用format函数:

像这样:

SELECT b.digits, FORMAT(a.amount, b.digits) as amount FROM a JOIN b ON a.number_id = b.id