MySQL中保留小数后几位的几个常用函数
在MySQL中,涉及到小数的,经常会有要求保留小数后N位的要求,比如,销量要保留小数后3位、金额要小数后2位等等。有时候,我们在保留小数的时候需要四舍五入,有时候是需要直接截取,这时候,MySQL中自带的函数就派上用场了。
ROUND
在MySQL中,ROUND()函数用于将数值四舍五入到指定的小数位数。
ROUND()函数的语法如下:
1 | ROUND(number, decimals) //其中,number是要舍入的数值,decimals是要舍入到的小数位数。 |
例如,如果您想将数字3.14159舍入到两个小数位,可以使用以下查询:
1 | SELECT ROUND(3.14159, 2); // 3.14 |
如果省略decimals参数,则ROUND()函数会将数字四舍五入为最接近的整数。例如:
1 | SELECT ROUND(3.14159); // 3 |
CEILING
在MySQL中,CEILING()函数用于返回大于或等于指定数值的最小整数值,也称为向上取整。语法如下:
1 | CEILING(number) //其中,number是要进行向上取整的数字。 |
例如,如果您想将4.3向上取整为5,则可以使用以下查询:
1 | SELECT CEILING(4.3); // 5 |
FLOOR
在MySQL中,FLOOR()函数用于返回小于或等于指定数值的最大整数值,即向下取整。语法如下:
1 | FLOOR(number) // 其中,number是要进行向下取整的数字。 |
例如,如果您想将4.8向下取整为4,则可以使用以下查询:
1 | SELECT FLOOR(4.8); // 4 |
TRUNCATE
在MySQL中,TRUNCATE()函数用于截断一个数值到指定的小数位数,而不是四舍五入。与ROUND()函数不同,TRUNCATE()函数不会将数值四舍五入为最接近的整数。语法如下:
1 | TRUNCATE(number, decimals) // 其中,number是要进行截断的数字,decimals是要保留的小数位数。 |
例如,如果您想将数字3.1459截断为两个小数位,可以使用以下查询:
1 | SELECT TRUNCATE(3.1459, 2); // 3.14 |
如果要将数字截断为整数,可以将decimals参数设置为0。例如:
1 | SELECT TRUNCATE(8.8, 0); // 8 |
MySQL中保留小数后几位的几个常用函数