问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL 隐式替换导致精度丢失

发布网友 发布时间:2023-03-19 19:05

我来回答

1个回答

热心网友 时间:2023-04-23 12:34

原来只知道, MySQL类型隐式替换会影响优化器对索引的选择, 由于遇到了一个隐式替换导致的精度丢失的 Bug ,引起了我对隐式替换的实现逻辑的好奇心.

为什么隐式替换会影响精度吗? 不是类似 String.valueOf() 处理吗?

执行SQL 1 :

查询结果 1 :

执行SQL 2 :

查询结果 2 :

由上面的两个SQL看到, 由于where条件的业务订单id筛选项没有添加引号, 导致了精度丢失问题. 210517130303013756 在表中是唯一的, 但是查出来多条数据.

如需构建演示环境请执行如下SQL

这里贴出了数字类型相关的替换规则, 想了解更多请查阅官方文档

有关隐式数字到字符串转换的字符集以及适用于 CREATE TABLE ... SELECT 语句的修改规则,请参阅本节后面的信息。

以下规则描述了比较操作如何发生转换:

有关将值从一种时间类型转换为另一种时间类型的信息,请参见 第11.2.8节“日期和时间类型之间的转换” 。

由于 210517130303013756 没有加引号, 默认将其作为浮点数处理, 所以在 210517130303013756 转浮点数的时候, 导致了精度丢失问题.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母残疾,带病出生的庞众望,744分考上清华,7年后咋样了 父亲精神病母亲瘫痪,寒门庞众望四年前考入清华,如今怎样了? 鬼谷八荒魅力最高是什么 怎么捏脸到仙姿 鬼谷八荒如何减魅力 北京八维学校好吗是真的吗 八维学校是不是传销? 北京八维学校的招生体系是传销吗? 自圆其说的意思自圆其说 沐澄什么意思 键盘按键错乱。按I出现IO,反正全都不正确吗,前几分中上QQ还能用,电脑卡... 倒车入库打早打晚如何修正 快手直播间关注他人会封号嘛 我想问一下衣服爆皮了怎样全去掉? 抖音支付1抖币需要扣微信里的钱吗 天猫直充抖币扣的是哪里的钱 智能鞋的盈利模式有哪些? 监康智能鞋是真的吗 梦见冰雕的预兆 华为荣耀6多钱,手机怎么样 华为荣耀6手机怎么样?从价格性价比配置等考虑 华为荣耀6怎么样,现在实体店买多少钱? 华为荣耀6手机怎么样?实体店的价格大约是多少? 华为荣耀6多少钱好不好 华为荣耀6怎么样?价格多少钱? 如果我出国旅游1年或工作1年,回国后就变成华侨了? 父母在新西兰生活十几年,但一直未领绿卡,我算不算华侨? 我弟弟在法国已有20多年了也经常回来算是华侨吗? 我在德国打工三年多了,我算不算该国的华侨? 在外国居住多久可以办华侨证 在国外工作五年以上回国的被认定位华侨吗? 有情皆孽无情不冤下一句 节约粮食经典演讲稿范文 微信视频1小时耗多少流量? 节约粮食五分钟升旗演讲稿 在红色横幅上签字叫什么仪式 寒花葬志赏析 微信怎么搜附近的人才不会被腾讯避凭 怎么避免微信附近人被屏蔽 初二寒花葬志文言文阅读理解,学霸速来! 函数excel表格总表插行,分表自动插行带数据 洛阳出发自驾游到舟山每个人需要多少钱 求洛阳到舟山怎么坐车 我是河南洛阳的,去普陀山和九华山,路线怎么走最省钱,最快 从洛阳去普陀山怎么走最方便? 梦见堂弟快死去的预兆 小米手环5有密码怎么刷机? 梦见和堂弟睡觉堂弟是死的的预兆 小米手环怎么关机更新系统 求高考历史图表题(真题) 选择题3个,问答题2个 要有原题、答案和详解 1918年钱玄同发表《中国今后的文字问题》一文,提出“废孔学,不可不先废汉字;欲驱除一般人之幼稚的、野