zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

[Mysql] ROUND函数

mysql 函数 round
2023-09-11 14:22:54 时间

ROUND()函数用于把数值字段舍入为指定的小数位数

格式: SELECT ROUND(column_name,decimals) FROM [表名];

column_name: 要舍入的字段,必需

decimals: 规定要返回的小数位数,可选

两种形式

ROUND(X): 返回'参数X'四舍五入的一个整数

-- ROUND(X)函数将值X四舍五入之后保留整数部分
-- -7
SELECT ROUND(-6.6);
-- -8
SELECT ROUND(-8.49);
-- -9
SELECT ROUND(-8.50);

-- 1
SELECT ROUND(1);
-- 2
SELECT ROUND(1.58);
-- 3
SELECT ROUND(3.49);
-- 4
SELECT ROUND(3.50);


-- ROUND(X)与ROUND(X,0)所得结果相同
-- 1123
SELECT ROUND(1123.26723);
-- 1123
SELECT ROUND(1123.26723,0);

ROUND(X,D): 返回'参数X'四舍五入的有 D 位小数的一个数字。如果D为0,结果将没有小数点或小数部分;如果D为负数,这时是指定小数点左边的D位整数位为0,同时小数位均为0

-- 1123.27
SELECT ROUND(1123.26723,2);
-- 1123.3
SELECT ROUND(1123.26723,1);
-- 1123
SELECT ROUND(1123.26723,0);
-- 1120
SELECT ROUND(1123.26723,-1);
-- 1100
SELECT ROUND(1123.26723,-2);
-- 1000
SELECT ROUND(1123.26723,-3);

-- 根据参数D值,将参数X四舍五入后得到保留小数点后D位的值,X值的小数位不够D位的补零
-- 如果D为负值,则保留小数点左边D位,先进行四舍五入操作,再将相应的位数值取零
-- -6.7
SELECT ROUND(-6.66,1);
-- 3.330
SELECT ROUND(3.33,3);
-- 90
SELECT ROUND(88.66,-1);
-- 100
SELECT ROUND(88.46,-2);

扩展

SELECT语句其实并不要求一定要有FROM子句,虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式

不带FROM子句的SELECT语句可以用来进行测试计算,如下例子所示:

-- SELECT提供了测试和试验函数与计算的一个很好的办法
-- 根据需要使用SELECT进行试验

-- 1123.27
SELECT ROUND(1123.26723,2);

-- 6
SELECT 3*2

-- abc
SELECT Trim('abc   ');

-- 利用Now()函数返回当前日期和时间
-- 2022-04-08 20:25:36
SELECT Now()