美文网首页sql
mysql查询结果集数据四舍五入

mysql查询结果集数据四舍五入

作者: 小胖学编程 | 来源:发表于2020-05-25 13:00 被阅读0次

在做mysql统计时,我们一定会遇到获取百分比数据的需求。可以使用mysql函数,在查询时对数据进行4舍5入。

需求:查询正确率,并保留2位小数:

1. 使用format()函数。

因为正确率是百分比,故要保存4位小数:

  • 五入:
mysql> select format(0.10298,4);
+-------------------+
| format(0.10298,4) |
+-------------------+
| 0.1030            |
+-------------------+
1 row in set (0.01 sec)
  • 四舍:
mysql> select format(0.10294,4);
+-------------------+
| format(0.10294,4) |
+-------------------+
| 0.1029            |
+-------------------+
1 row in set (0.01 sec)
  • 四舍五入来取整:
mysql> select format(1.10294,0);
+-------------------+
| format(1.10294,0) |
+-------------------+
| 1                 |
+-------------------+
1 row in set (0.01 sec)

2. 使用convert函数

最终的结果集有4位,其中小数点(4舍5入)保留3位。

mysql> select convert(0.14275,decimal(4,3));
+-------------------------------+
| convert(0.14275,decimal(4,3)) |
+-------------------------------+
| 0.143                         |
+-------------------------------+
1 row in set (0.01 sec)

注意:若是字段值过大,DECIMAL的规定是4位数字:小数点保留3位,整数就保留1位。那么最终输出的是9.999。

mysql> select convert(10.14275,decimal(4,3));
+--------------------------------+
| convert(10.14275,decimal(4,3)) |
+--------------------------------+
| 9.999                          |
+--------------------------------+
1 row in set (0.01 sec)

3. JAVA代码的实现

得到未4舍5入的数据,依靠JAVA代码来完成转换。newScale(保留几位小数)

 public static double round(double source, int newScale) {
     BigDecimal bg = new BigDecimal(source);
     return bg.setScale(newScale, BigDecimal.ROUND_HALF_UP).doubleValue();
 }

推荐阅读

mysql官网—12.10强制转换函数和运算符

相关文章

  • php判断SQLite查询结果是否为空

     php操作MySql数据库时,判断查询结果一般用mysql_num_rows($array)得到结果集条数,然后...

  • JDBC

    开发步骤 导入mysql数据库驱动程序jar包 增操作 删除操作 更新操作 查询操作,结果返回的是结果集 习题 对...

  • mysql查询结果集数据四舍五入

    在做mysql统计时,我们一定会遇到获取百分比数据的需求。可以使用mysql函数,在查询时对数据进行4舍5入。 需...

  • mysql查询保持in的顺序

    目的:解决mysql的in语法查询顺序问题 mysql数据库总,使用in语句查询,查询结果默认会根据主键id排序。...

  • MySQL 联合查询

    MySQL 联合查询 概念 : 将多个查询结果放置到一个结果集的方法 union 去除重复行 uni...

  • Java 中的resultset

    结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅...

  • MySQL数据库性能优化

    MySQL架构 查询缓存 查询缓存(Query Cache)原理: 缓存SELECT操作或预处理查询的结果集和SQ...

  • 查看 MySQL 数据库大小

    查看 MySQL 所有数据库大小 SQL 查询语句如下: 查询结果如图所示 查看 MySQL 指定数据库大小 SQ...

  • DQL(Data Query Language 数据库查询语言)

    DQL(Data Query Language 数据库查询语言) 简单查询 条件查询 逻辑查询 模糊查询 结果集排...

  • MySQL--游标

    游标是一个存储在MySQL服务器上的数据库查询,是一个结果集。是保存查询结果的一个临时区域。 有时需要在检索出来的...

网友评论

    本文标题:mysql查询结果集数据四舍五入

    本文链接:https://www.haomeiwen.com/subject/axhyahtx.html