ROUND()

函数说明

ROUND() 函数返回了某个数字在特定位数四舍五入后的数值。 该函数返回指定位数上最接近的数字。如果给定的数字与周围的数字距离相等(比如为 5),那么将采用 “banker’s rounding”(银行进位法)的方式进行舍入。

函数语法

1. > ROUND(number, decimals)
2. > ROUND(number)

参数释义

参数 说明
number 必要参数,想要进行舍入的数值,可取任意数值数据类型
decimals 可选参数,表示将要舍入的小数点后的位数。默认值为 0,代表舍入到整数。 decimals>0 函数将舍入到小数点后的位数 decimals<0 函数将舍入到小数点前的位数 decimals=0 函数将舍入到整数

示例

1. drop table if exists t1;
2. create table t1(a int ,b float);
3. insert into t1 values(1,0.5);
4. insert into t1 values(2,0.499);
5. insert into t1 values(3,0.501);
6. insert into t1 values(4,20.5);
7. insert into t1 values(5,20.499);
8. insert into t1 values(6,13.500);
9. insert into t1 values(7,-0.500);
10. insert into t1 values(8,-0.499);
11. insert into t1 values(9,-0.501);
12. insert into t1 values(10,-20.499);
13. insert into t1 values(11,-20.500);
14. insert into t1 values(12,-13.500);

16. mysql> select a,round(b) from t1;
17. +------+----------+
18. | a    | round(b) |
19. +------+----------+
20. |    1 |        0 |
21. |    2 |        0 |
22. |    3 |        1 |
23. |    4 |       20 |
24. |    5 |       20 |
25. |    6 |       14 |
26. |    7 |       -0 |
27. |    8 |       -0 |
28. |    9 |       -1 |
29. |   10 |      -20 |
30. |   11 |      -20 |
31. |   12 |      -14 |
32. +------+----------+
33. 12 rows in set (0.00 sec)

35. mysql> select a,round(b,-1) from t1;
36. +------+--------------+
37. | a    | round(b, -1) |
38. +------+--------------+
39. |    1 |            0 |
40. |    2 |            0 |
41. |    3 |            0 |
42. |    4 |           20 |
43. |    5 |           20 |
44. |    6 |           10 |
45. |    7 |           -0 |
46. |    8 |           -0 |
47. |    9 |           -0 |
48. |   10 |          -20 |
49. |   11 |          -20 |
50. |   12 |          -10 |
51. +------+--------------+
52. 12 rows in set (0.01 sec)

54. mysql> select round(a*b) from t1;
55. +--------------+
56. | round(a * b) |
57. +--------------+
58. |            0 |
59. |            1 |
60. |            2 |
61. |           82 |
62. |          102 |
63. |           81 |
64. |           -4 |
65. |           -4 |
66. |           -5 |
67. |         -205 |
68. |         -226 |
69. |         -162 |
70. +--------------+
71. 12 rows in set (0.01 sec)