MySQL中关于浮点型转换成字符型出现的一些问题解决


当前第2页 返回上一页

临时表数据截图:

日志表数据截图:

对比可以发现,插入的日志记录数据无缘无故后面多了很多位的小数,不知道从哪里冒出来的,后来一想,可能是本来浮点型的数据就是除不尽的,转成varchar的时候就把后面的那些也给带出来了,暂时也不是很确定,后续确定之后再补充,然后自己临时找了一个转varchar的方法concat,调整如下:


1

2

INSERT INTO log_weight(goods_sn, which_col, old_value, new_value, update_user)

SELECT goods_sn,'actual_weight',concat(actual_weight,''),concat(new_actual_weight,''),create_user FROM temp_170830;

顺利解决日志记录问题。

总结如下:

1 在记录价格和重量数字字段的时候,尽量不要使用浮点型!!!,浮点数坑多(比如浮点型是不能判断相等的!!!),最好是采用int整型,业务上要显示小数时,读取出来再除以相应的位数,比如99.98元,应存储9998,读取出来时,用9998/100来显示。

2 在float转varchar时,应该先把float用concat函数先转成varchar,再存储入varchar字段。

以上就是MySQL中关于浮点型转换成字符型出现的一些问题解决的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

mysql双向备份的方法介绍(附代码)

设计性能更优mysql数据库schema

mysql日期格式转换函数有哪些

浅谈mysql中的group by

mysql查询数据之合并查询结果

mysql大小写敏感的问题

怎样手动打开mysql服务

mysql怎么新增记录?

mysql有几种隔离级别

看看mysql 5.6, 5.7, 8.0的新特性!

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...