文章出处:MySQL四舍五入函数ROUND(x)、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)函数的执行结果如下图所示:
上图中代码执行的结果显示,进行四舍五入处理以后,只保留了各个值的整数部分。
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)函数的执行结果如下图所示:
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)函数的执行结果如下图所示:
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)函数直接截取值,并不进行四舍五入。