我需要将小数字舍入为:
1.00 ->1.0
1.987->1.98
1.93-> 1.93
1.07->1.07
如何在mysql中执行此操作?
答案 0 :(得分:2)
这里有一些文档
http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_round
快速回答:
mysql> SELECT ROUND(1.987, 2); = 1.99
或更多您正在寻找的东西
truncate(1.987, 2) = 1.98
答案 1 :(得分:1)
如果您输出数字(数字,1.0
= 1.00
),这只会有所不同。所以:
(case when format(num, 2) = '1.00' then '1.0' else format(num-0.005, 2) end)
-0.005
是为了克服format()
轮次而不是截断的事实。
答案 2 :(得分:0)
就像那样:
SELECT if(NUMBER mod 1=0,ROUND(NUMBER,1),ROUND(NUMBER,2));
例如
SELECT IF(1.00 MOD 1=0,ROUND(1.00,1),ROUND(1.00,2));
=> 1.0