首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
9.1 基本查询语句
9.2 单表查询
9.2.1 查询所有字段
9.2.2 查询指定字段
9.2.3 查询指定数据
9.2.4 带关键字IN的查询
9.2.5 带关键字BETWEEN AND的范围查询
9.2.6 带LIKE的字符匹配查询
9.2.7 用IS NULL关键字查询空值
9.2.8 带AND的多条件查询
9.2.9 带OR的多条件查询
9.2.10 用DISTINCT关键字去除结果中的重复行
9.2.11 用ORDER BY关键字对查询结果进行排序
9.2.12 用GROUP BY关键字分组查询
9.2.13 用LIMIT限制查询结果的数量
9.3 聚合函数查询
9.3.1 COUNT()统计函数
9.3.2 SUM()求和函数
9.3.3 AVG()平均数函数
9.3.4 MAX()最大值函数
9.3.5 MIN()最小值函数
9.4 连接查询
9.4.1 内连接查询
9.4.2 外连接查询
9.4.3 复合条件连接查询
9.5 子查询
9.5.1 带IN关键字的子查询
9.5.2 带比较运算符的子查询
9.5.3 带EXISTS关键字的子查询
9.5.4 带ANY关键字的子查询
9.5.5 带ALL关键字的子查询
9.6 合并查询结果
9.7 定义表和字段的别名
9.7.1 为表取别名
9.7.2 为字段取别名
9.8 使用正则表达式查询
9.8.1 匹配指定字符中的任意一个
9.8.2 使用“*”和“ ”来匹配多个字符
9.8.3 匹配以指定的字符开头和结束的记录
10.1 MySQL函数
10.2 数学函数
10.2.1 ABS(x)绝对值函数
10.2.2 FLOOR(x)向下取整函数
10.2.3 RAND()随机数函数
10.2.4 PI()圆周率函数
10.2.5 TRUNCATE(x,y)截断函数
10.2.6 ROUND(x)近似值函数和ROUND(x,y)四舍五入函数
10.2.7 SQRT(x)平方函数
10.3 字符串函数
10.3.1 INSERT(s1,x,len,s2)替换函数
10.3.2 UPPER(s)函数和UCASE(s)字母大写函数
10.3.3 LEFT(s,n)取左函数
10.3.4 RTRIM(s)去空格函数
10.3.5 SUBSTRING(s,n,len)截取函数
10.3.6 REVERSE(s)反转函数
10.3.7 FIELD(s,s1,s2,…,sn)位置函数
10.3.8 LOCATE(s1,s)、POSITION(s1 IN s)和INSTR(s,s1)3个位置函数
10.4 日期和时间函数
10.4.1 CURDATE()和CURRENT_DATE()当前日期函数
10.4.2 CURTIME()和CURRENT_TIME()当前时间函数
10.4.3 NOW()当前日期和时间函数
10.4.4 DATEDIFF(d1,d2)间隔天数函数
10.4.5 ADDDATE(d,n)日期计算函数
10.4.6 ADDDATE(d,INTERVAL expr type)日期时间计算函数
10.4.7 SUBDATE(d,n)日期计算函数
10.5 条件判断函数
10.6 系统信息函数
10.6.1 获取MySQL版本号、连接数和数据库名的函数
10.6.2 获取用户名的函数
10.6.3 获取字符串的字符集和排序方式的函数
10.7.1 格式化函数FORMAT(x,n)
10.7.2 改变字符集的函数
10.7.3 改变字段数据类型的函数
当前位置:
首页>>
技术小册>>
MySQL从入门到精通(三)
小册名称:MySQL从入门到精通(三)
### 10.2.6 ROUND(x)近似值函数和ROUND(x,y)四舍五入函数 在MySQL中,`ROUND()` 函数是一个非常重要的数学函数,用于对数值进行四舍五入操作。该函数支持两种基本用法:`ROUND(x)` 和 `ROUND(x, y)`,分别用于实现不同的四舍五入需求。理解和掌握这两个函数对于数据处理、报表生成以及任何需要精确数值控制的场景都至关重要。 #### 10.2.6.1 ROUND(x) 函数 `ROUND(x)` 函数接收一个参数`x`,表示要进行四舍五入的数值。该函数会返回`x`四舍五入到最接近的整数。如果`x`为正数,且小数点后第一位是5或更大,则结果向上舍入;如果是4或更小,则结果向下舍入。对于负数,规则相同,但考虑到负数的特性,向下舍入意味着数值在数轴上向更小的方向移动,即绝对值增大,但符号保持为负。 **示例**: ```sql SELECT ROUND(123.456); -- 结果:123 SELECT ROUND(123.567); -- 结果:124 SELECT ROUND(-123.456); -- 结果:-123 SELECT ROUND(-123.567); -- 结果:-124 ``` 从上述示例可以看出,`ROUND(x)` 总是将数值四舍五入到最接近的整数,无论其正负。 #### 10.2.6.2 ROUND(x, y) 函数 `ROUND(x, y)` 函数则提供了更细致的控制,允许用户指定四舍五入的精度。其中,`x` 是要进行四舍五入的数值,`y` 是指定的小数点后保留的位数。如果`y`为正数,则结果保留到小数点后`y`位;如果`y`为0,则等同于`ROUND(x)`,即四舍五入到整数;如果`y`为负数,则结果在小数点左侧进行四舍五入,即保留到指定的十的幂次方位置。 **示例**: ```sql SELECT ROUND(123.4567, 2); -- 结果:123.46 SELECT ROUND(123.4567, 0); -- 结果:123 SELECT ROUND(123.4567, -1); -- 结果:120 SELECT ROUND(123.5678, -2); -- 结果:100 ``` 在第一个示例中,`123.4567` 四舍五入到小数点后两位,结果是`123.46`。第二个示例中,由于没有指定小数位数(或指定为0),因此结果四舍五入到整数。第三个和第四个示例展示了负数`y`值的使用,其中数值被四舍五入到更粗的粒度级别(即十的幂次方)。 #### 注意事项 - 当使用`ROUND(x, y)`且`y`为负数时,结果可能会意外地显示为0,特别是当`x`的绝对值小于`10^(-y)`时。例如,`ROUND(0.00345, -2)` 会返回`0`,因为`0.00345`在四舍五入到`100`的倍数时,确实会变为`0`。 - 四舍五入操作可能会影响数据的精确性,特别是在处理金融数据时尤为重要。确保了解四舍五入操作对你数据准确性的影响。 - 在某些情况下,你可能需要使用`FLOOR()`(向下取整)、`CEIL()`(向上取整)或`TRUNCATE()`(截断小数部分)等函数来替代`ROUND()`,以满足特定的数据处理需求。 #### 实际应用 `ROUND()` 函数在多个领域都有广泛的应用,包括但不限于: - **财务报表**:在准备财务报表时,经常需要对金额进行四舍五入处理,以满足会计准则或格式要求。 - **数据分析**:在数据分析过程中,四舍五入可以帮助简化数据,使其更易于理解和可视化。 - **用户界面显示**:在用户界面展示数据时,为了避免显示过长的数字,通常会使用四舍五入来减少小数点后的位数。 - **计算平均值**:在计算平均值之前,有时需要对原始数据进行四舍五入处理,以确保结果的准确性或符合特定的计算规则。 #### 结论 `ROUND(x)` 和 `ROUND(x, y)` 函数是MySQL中非常实用的数学函数,它们为数值数据的四舍五入处理提供了灵活而强大的工具。通过掌握这两个函数的使用方法和注意事项,你可以更有效地处理和分析数据,满足各种业务需求。无论是在数据报表的生成、用户界面的展示还是数据分析的过程中,`ROUND()` 函数都将是你的得力助手。
上一篇:
10.2.5 TRUNCATE(x,y)截断函数
下一篇:
10.2.7 SQRT(x)平方函数
该分类下的相关小册推荐:
MySQL8.0入门与实践
MySQL从入门到精通(四)
MySQL必会核心问题
MySQL 实战 45 讲
细说MySQL(零基础到高级应用)
MySQL从入门到精通(一)
MySQL从入门到精通(二)
MySQL从入门到精通(五)
SQL零基础到熟练应用(增删改查)