首页 > 编程笔记 > MySQL笔记 阅读:7

MySQL ROUND()和TRUNCATE()函数的用法(附带实例)

MySQL 中的 ROUND(x) 返回最接近于参数 x 的整数,即对 x 值进行四舍五入。

【实例】使用 ROUND(x) 函数对操作数进行四舍五入操作,SQL 语句如下:
mysql> SELECT ROUND(-1.14),ROUND(-1.67), ROUND(1.14),ROUND(1.66);
+--------------+--------------+-------------+-------------+
| ROUND(-1.14) | ROUND(-1.67) | ROUND(1.14) | ROUND(1.66) |
+--------------+--------------+-------------+-------------+
|         -1   |        -2    |         1   |         2   |
+--------------+--------------+-------------+-------------+
可以看到,对参数 x 进行四舍五入处理之后,只保留了各个值的整数部分。

ROUND(x,y) 返回最接近于参数 x 的数,若 y 为正值,则将保留到小数点后面 y 位;若 y 为负值,则将保留到小数点左边 y 位。

【实例】使用 ROUND(x,y) 函数对操作数进行四舍五入操作,结果保留小数点后面指定 y 位,SQL 语句如下:
mysql> SELECT ROUND(1.38, 1), ROUND(1.38, 0), ROUND(232.38, -1), ROUND(232.38,-2);
+----------------+----------------+-------------------+-----------------+
| ROUND(1.38, 1) | ROUND(1.38, 0) | ROUND(232.38, -1) | ROUND(232.38,-2)|
+----------------+----------------+-------------------+-----------------+
|         1.4    |           1    |            230    |          200    |
+----------------+----------------+-------------------+-----------------+

提示,y 值为负数时,保留的小数点左边的相应位数直接保存为 0,不进行四舍五入。


TRUNCATE(x,y) 返回被舍去至小数点后 y 位的数值 x。若 y 为 0,则结果不带有小数部分;若 y 为负数,则截去(归零数值)x 自小数点左起第 y 位开始的所有低位的值。

【实例】使用 TRUNCATE(x,y) 函数对操作数进行截取操作,结果保留小数点后面指定 y 位,SQL 语句如下:
mysql> SELECT TRUNCATE(1.31,1), TRUNCATE(1.99,1), TRUNCATE(1.99,0),
TRUNCATE(19.99,-1);
+----------------+----------------+----------------+-------------------+
|TRUNCATE(1.31,1)|TRUNCATE(1.99,1)|TRUNCATE(1.99,0)| TRUNCATE(19.99,-1)|
+----------------+----------------+----------------+-------------------+
|            1.3 |           1.9  |             1  |              10   |
+----------------+----------------+----------------+-------------------+

相关文章