Mysql舍入特殊情况下的整数分数

时间:2013-02-19 18:25:48

标签: mysql

我想从DB中舍入2位小数(项目价格)

但是当价格是一个整数分数(例如10.00)时,我想让它返回没有小数(即10)

到目前为止ROUND(价格,2);没有解决要求

感谢

2 个答案:

答案 0 :(得分:0)

怎么样:

(case when right(format(val, 2), 3) = '.00' then format(val, 0)
      else format(val, 2)
 end)

这会将逗号添加到大数字中。

答案 1 :(得分:0)

我不知道是否存在实现此目的的单一方法,但您可以尝试这样的方法。

SELECT CASE WHEN MOD(50.00, 50) = 0 THEN ROUND(50.00) ELSE ROUND(50.00,2) END;

以上陈述返回50

SELECT CASE WHEN MOD(50.10, 50) = 0 THEN ROUND(50.10) ELSE ROUND(50.10,2) END;

上述声明返回50.10

您可以使用动态列名修改数字。