mysql那些事(3)小数如何存储
2017-12-29 10:46
344 查看
创建mysql数据表的时候,经常会遇到存储小数(浮点数)的情况,如:价格,重量,身高等。
目前大的公司流行三种存储方案:
1、将数据扩大10的倍数达到使用整数类型存储目的。
比如价格,我们经常以分为单位进行存储,也就是将数据扩大100倍,这样元改成分存储。
重量可以用克为单位,如果克还是小数,就以毫克,微克等单位进行存储。
2、使用decimal类型的方式存储
比如价格,我们可以使用两位小数的精度进行存储。强烈不建议采用float或者double的类型存储,会存在精度损失的问题,在以后做值比较的时候,容易出现不正确的结果。
3、小数和整数部分分开存储。
比如价格3.14,我们存成两个字段,一个字段存储3,一个字段存储14,一般情况下用的少。当存储的数据范围超出decimal的范围时,可以将数据按照整数和小数拆分。
这里推荐第一种方案。
目前大的公司流行三种存储方案:
1、将数据扩大10的倍数达到使用整数类型存储目的。
比如价格,我们经常以分为单位进行存储,也就是将数据扩大100倍,这样元改成分存储。
重量可以用克为单位,如果克还是小数,就以毫克,微克等单位进行存储。
2、使用decimal类型的方式存储
比如价格,我们可以使用两位小数的精度进行存储。强烈不建议采用float或者double的类型存储,会存在精度损失的问题,在以后做值比较的时候,容易出现不正确的结果。
3、小数和整数部分分开存储。
比如价格3.14,我们存成两个字段,一个字段存储3,一个字段存储14,一般情况下用的少。当存储的数据范围超出decimal的范围时,可以将数据按照整数和小数拆分。
这里推荐第一种方案。
相关文章推荐
- mysql那些事(2)时间类型数据如何存储
- mysql那些事(1)手机号与座机号码如何存储
- [小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型
- Mysql各种存储引擎的特性以及如何选择存储引擎
- 如何选择合适的Mysql存储引擎
- MySQL 中如何存储 emoji ?
- 如何选择MySQL存储引擎
- 【转载】如何选择MySQL存储引擎
- 如何修改mysql表的存储引擎
- Mysql各种存储引擎的特性以及如何选择存储引擎
- 如何选择合适的MySQL存储引擎
- 如何得到mysql存储过程的列表
- 如何查看MySQL的当前存储引擎?
- mysql如何让一个存储过程定时执行
- MyBaits:如何接收Mysql存储过程多个返回集
- 关于mysql存储引擎及如何选择合适的存储引擎
- 如何查看MYSQL的当前存储引擎
- 如何修改mysql表的存储引擎
- 如何修改mysql表的存储引擎
- ASP.NET如何调用MySQL的存储过程