round, dround
将数字四舍五入到指定的位数。
- 如果未指定
n
,则将x
四舍五入到最接近的整数。 - 如果指定了
n
,则将x
四舍五入到n
位小数。如果n
为负数,则将x
四舍五入到小数点左侧。如果发生溢出,则返回错误。
语法
ROUND(x [,n]);
参数
x
:要四舍五入的数字。支持 DOUBLE 和 DECIMAL128 数据类型。
n
:将数字四舍五入到的小数位数。支持 INT 数据类型。此参数是可选的。
返回值
-
如果仅指定
x
,则返回值的数据类型如下["DECIMAL128"] -> "DECIMAL128"
["DOUBLE"] -> "BIGINT"
-
如果同时指定
x
和n
,则返回值的数据类型如下["DECIMAL128", "INT"] -> "DECIMAL128"
["DOUBLE", "INT"] -> "DOUBLE"
示例
mysql> select round(3.14);
+-------------+
| round(3.14) |
+-------------+
| 3 |
+-------------+
mysql> select round(3.14,1);
+----------------+
| round(3.14, 1) |
+----------------+
| 3.1 |
+----------------+
mysql> select round(13.14,-1);
+------------------+
| round(13.14, -1) |
+------------------+
| 10 |
+------------------+
mysql> select round(122.14,-1);
+-------------------+
| round(122.14, -1) |
+-------------------+
| 120 |
+-------------------+
mysql> select round(122.14,-2);
+-------------------+
| round(122.14, -2) |
+-------------------+
| 100 |
+-------------------+
mysql> select round(122.14,-3);
+-------------------+
| round(122.14, -3) |
+-------------------+
| 0 |
+-------------------+