【MYSQL】金额(金钱)相关的数据存储类型

int

对于游戏币等代币,一般存储为int类型是可行的。

问题在于越界,int类型长度为11位。

在存储人民币相关的金额的时候,则只能存储到9长度的人民币,也就是说,最大只能存储999999999,不到10亿的数值,如果业务增长很快的话,就会给自己留下隐患。

Decimal

Decimal为专门为财务相关问题设计的数据类型。

DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:

·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认 值是10。

·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。

说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。

如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。

能够解决数据的范围和精度的问题。

总结

这两种方式都是可行的解决方案,我们可以根据具体情况使用合适的方案。

参考资料

时间: 2024-09-21 10:33:11

【MYSQL】金额(金钱)相关的数据存储类型的相关文章

未来工作负载所需的智能数据存储类型

如今,提供一个灵活的数据中心基础设施以及智能数据的数据存储类型,其获得更快的速度或更大的规模更有意义. 当研究IT主管的存储需求时,人们经常遇到的一个主题是过渡到"现代"数据存储架构的愿望.通常情况下,当人们听到这个问题时,所想到的后续问题是"现代是什么意思?"以及"怎么知道什么时候到达那里?" 随着技术的快速发展,识别构成现代存储系统的数据存储类型可能不像以前那么容易.在此期间天,决定存储采购决策的两个参数通常是速度和规模.因此,根据组织的需要

存储分层:企业数据存储类型选择与优化

在2017云栖大会-成都峰会上,阿里云存储服务产品专家周皓做了题为<存储分层:企业数据存储类型选择与优化>的分享.基于大规模飞天分布式系统的阿里云对象存储OSS具有可靠.安全.易用.和弹性高的特点,广泛应用在企业级备份等领域.OSS的存储类型依据访问数据的热度可分为三种,即标准类型.低频类型和归档类型,每种存储类型在存储时长.存储单价以及访问频度等方面均有区分,适用于不同的应用场景.

页面相关的数据存储(缓存及Web Storage)

页面可用的缓存包括:Http Cache, Local Storage, Session Storage以及Application Cache. 它们都可以用来减少请求数量,以提高页面的性能及减少流量消耗,这对于移动端的浏览器来说更为重要 (另外还有Memory Cache, 不过对于前端工程而言是透明的). Http Cache 最为常用的缓存机制.相对后三项属于浏览器内核内的模块(也是H5中定义的标准),Http Cache早已存在于HTTP模块中了.它是网络层对HTTP协议实现中一部分.它

string-mvc 下的关于时间类型的数据存储问题

问题描述 mvc 下的关于时间类型的数据存储问题 在时间出入框里面输入了时间,在后天已经转换为String类型了,输出为2015-08-29,数据库的类型也是String的,但是系统就是报错说 文字与格式字符串不匹配,该如何解决啊...o(╯□╰)o 求大神啊 解决方案 数据库里面的类型换 datetime试下 解决方案二: C++ 数据存储类型 解决方案三: 这个 很大可能是 时间格式的原因 YYYY-MM-dd hh:mm:ss 和YYYY-MM-dd 是有区别的 例如在 oracle中,如

《iOS取证实战:调查、分析与移动安全》一3.4 数据存储方式

3.4 数据存储方式 iPhone上的数据以很多方式进行存储.下面的小节涵盖了每一个数据存储的形式以供审查者了解潜在的证据如何定位或恢复. 内部存储: SQLite 数据库文件: 属性列表: 网络: 其他. 3.4.1 内部存储 大多数的码分多址(CDMA)设备都有SD卡插槽,但是iPhone不一样,它没有任何形式的外部存储器(除了SIM卡之外).iPhone中所有的数据都存储在内部NAND闪存中.本章后面的3.7.3节中提到的slice 2(或者称为rdisk0s2)存储了这些用户数据文件,设

Uber是如何使用MySQL设计可扩展性数据存储的?

在Mezzanine项目中我们描述了我们是如何将Uber的核心行程数据从单个的Postgres节点迁移到Schemaless,这是我们开发的一个容错性很高.可用的数据存储. 根据Uber工程师的习惯使用MySQL设计的数据存储,使我们可以从2014 扩容到更高.本文分成三部分对Schemaless进行阐述. 一.Schemaless的总体设计   这一部分我们将讲述Schemaless的架构它在Uber基础结构中的角色以及他是如何成为该角色的. 1.我们对新数据库的迫切需求 2014年初,由于出

MySQL更改数据库数据存储目录

MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤.   1:确认MySQL数据库存储目录 [root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir   Enter password:   | datadir | /var/lib/mysql/     2:关闭MySQL服务 在更改MySQL的数据目录

关于C++类的数据成员的存储类型,为什么不能是auto、register和extern

问题描述 关于C++类的数据成员的存储类型,为什么不能是auto.register和extern C++中类的存储类型不能是register和extern可以理解,但为什么不能是auto类型的呀?在结构体中同样出错,在函数中不出错,什么情况? #include<iostream> #include<cmath> using namespace std; class complex { private: auto double real;//编译时此处有错误illegal stora

mysql-利用MySQL数据库如何解决大数据量存储问题?

问题描述 利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime).基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢?需不需要换oracle数据库呢?因为我是数据库方面的新手,希望可以说的详细一点,万分感谢!!! 解决方案 查询业务是怎么样