MySQL四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 【转】
2016-01-27 10:42
543 查看
文章出处:MySQL四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
ROUND(x)函数返回最接近于参数x的整数,对x值进行四舍五入。
实例:
使用ROUND(x)函数对操作数进行四舍五入操作。SQL语句如下:
ROUND(x)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/32ce271259431a8884958ed2008801c4.gif)
上图中代码执行的结果显示,进行四舍五入处理以后,只保留了各个值的整数部分。
ROUND(x,y)函数返回最接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位。
实例:
使用ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位。SQL语句如下:
ROUND(x,y)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/756a1789d05e0e92899408b4efffafdb.gif)
ROUND(3.45,1)保留小数点后面1位,四舍五入的结果为3.5;ROUND(3.45,0)保留小数点后面0位,即返回四舍五入后的整数值;ROUND(123.45,-1)保留小数点左边1位,即从小数点向左查1位,这1位用0代替,返回值为120;ROUND(167.8,-2)保留小数点左边2位,即从小数点向左查2位,这两位用0代替,返回四舍五入后的值200。
TRUNCATE(x,y)函数返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零)x小数点左起第y位开始后面所有低位的值。
实例:
使用TRUNCATE(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位。SQL语句如下:
TRUNCATE(x,y)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/869ca3926df863b5a4485d1cbe40bf74.gif)
TRUNCATE(2.34,1)和TRUNCATE(4.56,1)都保留小数点后1位数字,返回值分别为2.3和4.5;TRUNCATE(4.56,0)返回整数部分4;TRUNCATE(56.78,-1)截去小数点左边第1位后面的值,并将整数部分的1位数字置0,结果为50。
ROUND(x,y)函数在截取值的时候会四舍五入,而TRUNCATE(x,y)函数直接截取值,并不进行四舍五入。
MySQL四舍五入函数ROUND(x)
ROUND(x)函数返回最接近于参数x的整数,对x值进行四舍五入。实例:
使用ROUND(x)函数对操作数进行四舍五入操作。SQL语句如下:
mysql>SELECT ROUND(-2.34),ROUND(-4.56),ROUND(2.34),ROUND(4.56);
ROUND(x)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/32ce271259431a8884958ed2008801c4.gif)
上图中代码执行的结果显示,进行四舍五入处理以后,只保留了各个值的整数部分。
MySQL四舍五入函数ROUND(x,y)
ROUND(x,y)函数返回最接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位。实例:
使用ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位。SQL语句如下:
mysql>SELECT ROUND(3.45,1),ROUND(3.45,0),ROUND(123.45,-1),ROUND(167.8,-2);
ROUND(x,y)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/756a1789d05e0e92899408b4efffafdb.gif)
ROUND(3.45,1)保留小数点后面1位,四舍五入的结果为3.5;ROUND(3.45,0)保留小数点后面0位,即返回四舍五入后的整数值;ROUND(123.45,-1)保留小数点左边1位,即从小数点向左查1位,这1位用0代替,返回值为120;ROUND(167.8,-2)保留小数点左边2位,即从小数点向左查2位,这两位用0代替,返回四舍五入后的值200。
MySQL四舍五入函数TRUNCATE(x,y)
TRUNCATE(x,y)函数返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零)x小数点左起第y位开始后面所有低位的值。实例:
使用TRUNCATE(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位。SQL语句如下:
mysql>SELECT TRUNCATE(2.34,1),TRUNCATE(4.56,1),TRUNCATE(4.56,0),TRUNCATE(56.78,-1);
TRUNCATE(x,y)函数的执行结果如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/869ca3926df863b5a4485d1cbe40bf74.gif)
TRUNCATE(2.34,1)和TRUNCATE(4.56,1)都保留小数点后1位数字,返回值分别为2.3和4.5;TRUNCATE(4.56,0)返回整数部分4;TRUNCATE(56.78,-1)截去小数点左边第1位后面的值,并将整数部分的1位数字置0,结果为50。
提示
ROUND(x,y)函数在截取值的时候会四舍五入,而TRUNCATE(x,y)函数直接截取值,并不进行四舍五入。
相关文章推荐
- mysql中优化sql语句查询的30种方法
- Mysql host '192.168.1.1' is not allowed to connect to this mysql server
- Mysql自定义函数
- mysql 主从不同步处理--数据库初始化
- vs2012利用MFC开发基于对话框的小软件指南(连接Mysql数据库)
- mysql5.7.10下载安装、配置与使用
- 前出塞mysql中update的low_priority解决并发问题
- mysql查询首字母小写的例子
- mysql 中的case when 和ifnull判断
- MYSQL的常用命令和增删改查语句和数据类型
- Windows MySQL(zip版本),启动不了,因为缺少data文件。(双系统修复三)
- mysql 触发器开荒
- MYSQL: Cannot delete or update a parent row: a foreign key constraint fails
- MySQL服务安装之一:Cmake方式一键安装脚本
- mysql忘记密码 如何重置获取
- mysql查询一天,查询一周,查询一个月的数据(mysql操作日期)
- mysql用户密码修改,用户添加、删除、设置权限及源文件恢复数据库
- 在jmeter测试mysql中如何一次运行多条sql语句
- 在jmeter测试mysql中如何一次运行多条sql语句
- mysql笔记04 MySQL高级特性