mysql统计函数round失效问题

mysql统计函数round失效问题

  • 目录
    • 1、问题
    • 2、找到原因
    • 3、解决办法
    • 4、类似问题欢迎品论区补充~

目录

1、问题

我的mysql版本为:8.1.0

我在mysql使用sum对数据统计后使用round函数进行四舍五入取整,发现像16.145这样的数字取小数后2位后是16.14而非16.15。

sql:
在这里插入图片描述
结果:
在这里插入图片描述

2、找到原因

发现score字段是字符串类型,于是我做了以下测试:

select round(16.125,2) from dual

执行结果为:16.13

select round('16.125',2) from dual

执行结果为:16.12

所以结论是:mysql隐式转换会有问题!
在设计表的时候,最好设置数字类型字段为DECIMAL,不然会导致后续的其他不可预料的问题!

3、解决办法

使用CAST函数对字符串进行手动转换
CAST语法为:

CAST(expression AS TYPE);

type 可以有:BINARY,CHAR,DATE,DATETIME,TIME,DECIMAL,SIGNED,UNSIGNED
示例:

# 使用cast转换成DECIMAL并指定精度
select cast('16.125' as DECIMAL(10,8) ) as num
# 再使用ROUND四舍五入
select round(cast('16.125' as DECIMAL ),2) from dual

4、类似问题欢迎品论区补充~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模型评估方法

目录 数据集切分 交叉验证 交叉验证实例 混淆矩阵 实例 代码实现 阈值 全局阈值处理 自适应阈值处理 阈值对结果的影响 ROC曲线 数据集切分 数据集切分是指将一个数据集分割成训练集和测试集的过程。常用的方法是随机切分,即将数据集中的样本按照一定比…

小红书kos和kop有什么区别,营销玩法有哪些

相信熟悉媒介传播的朋友,对于kol和koc都不陌生。但随着平台的发展和市场的进步,又出现了kos和kop。那么小红书kos和kop有什么区别,营销玩法有哪些? 一、什么是kos和kop KOS,全称叫做Key Opinion Sales,意思…

智能变电站集中监控辅助决策系统解决方案

项目背景 智能变电站是坚强智能电网的重要基础和支撑。它不仅是电网运行数据的采集源头和命令执行单元,而且与其他环节的联系非常紧密,为统一坚强智能电网的安全和优质提供了关键支撑。为了更有效地管理和控制变电站的各种设备和子系统,如视…

FastAPI实现文件上传下载

FastAPI实现文件上传下载 1.后端FastAPI2.后端html3.效果 最近的项目需求,是前端vue,后端fastAPI,然后涉及到图像的消息发送,所以需要用fast写文件上传下载的接口,这里简单记录一下。 1.后端FastAPI import os.path i…

MySQL-2

复习 1. Data数据–>DB数据库–>DBMS数据库管理系统常见DBMS: MySQL oracle sql server db2 … redis Mongodb两大功能: 定义DDL 操纵DML 2. 表table创建表, 行和列 3. MySQL数据类型数据类型分成三大类:数值型、字符型、日期时间类4. 关于列属性…

OpenCV如何以指定分辨率打开摄像头(C++ / Python代码演示)

问题背景 使用OpenCV打开USB摄像头时经常会遇到一个问题:我的摄像头最高分辨率是1920 * 1080,为什么用OpenCV打开摄像头保存的图片每次都是640 *480?能不能以最高分辨率打开并保存图片呢? 如何解决 首先需要确认自己的摄像头支持的最大分辨率是多少,具体步骤可以参考下…

两款超好用的视频翻译软件,适合两种不同场景,必有一款适合你

今天给大家推荐2个视频翻译工具​,分别是: TransDuckYouTube中文配音 这两款工具的核心功能非常类似,核心提供一个视频语言翻译的能力。比如:你要看一个英文视频,它可以帮助你将这个英文视频变为中文视频&#xff0c…

Flask解决接口跨域问题

1、什么是跨域CROS CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器安全策略,用于控制在一个网页应用中如何让一个域的Web页面能够请求另一个域的资源。在Web开发中,由于同源策略(Same-Ori…

【Java】Mac下的Tomcat安装配置

🔔Tomcat是一个免费的开源web应用服务器,是开发和调试JSP 程序的首选🖐可利用它响应HTML页面的访问请求。 我们在进行网络编程时,其中重要的中间件就是Tomcat,下面我们将进行在Mac上配置Tomcat的讲解。😲 …

maven限制内存使用峰值/最大内存

前言 通过设置虚拟机的内存大小,达到限制maven内存使用峰值的效果 方法1:修改mvn脚本 找到mvn脚本在MAVEN_OPTS参数值添加-Xms、-Xmx参数:MAVEN_OPTS"$MAVEN_OPTS -Xms512m -Xmx512m"效果图 windows系统下修改MAVEN_OPTS参数 …

debian10安装配置vim+gtags

sudo apt install global gtags --version gtags //生成gtag gtags-cscope //查看gtags gtags与leaderf配合使用 参考: 【VIM】【LeaderF】【Gtags】打造全定制化的IDE开发环境! - 知乎

构建搜索引擎,而非向量数据库(Vector DB) [译]

原文:Build a search engine, not a vector DB 作者: Panda Smith 在过去 12 个月中,我们见证了向量数据库(Vector DB)创业公司的迅猛增长。我此刻并不打算深入探讨它们各自的设计取舍。相反,我更想探讨和…