Skip to content

ROUND()

函数说明

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

函数语法

> ROUND(number, decimals)
> ROUND(number)

参数释义

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

示例

> drop table if exists t1;
> create table t1(a int ,b float);
> insert into t1 values(1,0.5);
> insert into t1 values(2,0.499);
> insert into t1 values(3,0.501);
> insert into t1 values(4,20.5);
> insert into t1 values(5,20.499);
> insert into t1 values(6,13.500);
> insert into t1 values(7,-0.500);
> insert into t1 values(8,-0.499);
> insert into t1 values(9,-0.501);
> insert into t1 values(10,-20.499);
> insert into t1 values(11,-20.500);
> insert into t1 values(12,-13.500);
> select a,round(b) from t1;
+------+----------+
| a    | round(b) |
+------+----------+
|    1 |   0.0000 |
|    2 |   0.0000 |
|    3 |   1.0000 |
|    4 |  20.0000 |
|    5 |  20.0000 |
|    6 |  14.0000 |
|    7 |  -0.0000 |
|    8 |  -0.0000 |
|    9 |  -1.0000 |
|   10 | -20.0000 |
|   11 | -20.0000 |
|   12 | -14.0000 |
+------+----------+
> select a,round(b,-1) from t1;
+------+--------------+
| a    | round(b, -1) |
+------+--------------+
|    1 |       0.0000 |
|    2 |       0.0000 |
|    3 |       0.0000 |
|    4 |      20.0000 |
|    5 |      20.0000 |
|    6 |      10.0000 |
|    7 |      -0.0000 |
|    8 |      -0.0000 |
|    9 |      -0.0000 |
|   10 |     -20.0000 |
|   11 |     -20.0000 |
|   12 |     -10.0000 |
+------+--------------+
> select round(a*b) from t1;
+--------------+
| round(a * b) |
+--------------+
|       0.0000 |
|       1.0000 |
|       2.0000 |
|      82.0000 |
|     102.0000 |
|      81.0000 |
|      -4.0000 |
|      -4.0000 |
|      -5.0000 |
|    -205.0000 |
|    -226.0000 |
|    -162.0000 |
+--------------+

限制

MatrixOne目前只支持在查询表的时候使用函数,不支持单独使用函数。