mysql存储金额类型,用什么数据类型比较可靠,一般企业数据用什么数据类型?

mysql存储金额类型,用什么数据类型比较可靠,一般企业数据用什么数据类型?,第1张

对于游戏币等代币,一般存储为int类型是可行的。问题在于越界,int类型长度为11位。

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

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

DECIMAL从MySQL5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL5.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)的最大值为9999.99,因为有7个字节可用。能够解决数据的范围和精度的问题。

扩展资料

MySQL数据类型DECIMAL用法:

MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。

要定义数据类型为DECIMAL的列,请使用以下语法:column_name  DECIMAL(P,D)

在上面的语法中:

P是表示有效数字数的精度。 P范围为1〜65。

D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)P。

DECIMAL(P,D)表示列可以存储D位小数的P位数。十进制列的实际范围取决于精度和刻度。

与INT数据类型一样,DECIMAL类型也具有UNSIGNED和ZEROFILL属性。如果使用UNSIGNED属性,则DECIMALUNSIGNED的列将不接受负值。

如果使用ZEROFILL,MySQL将把显示值填充到0以显示由列定义指定的宽度。另外,如果我们对DECIMAL列使用ZEROFILL,MySQL将自动将UNSIGNED属性添加到列。

mysql金额显示+号作用与编程语言中的+号的作用不相同,比如在Java中+号可以作为运算符进行数值间的运算,也可以作为连接符,只要一方为字符串型拼接以后就是字符串型,但是在MySQL中+号只有一个作用,那就是作为运算符。

(1)两个数都为数值型,进行加法的运算。

(2)+号左右两方有一个或者都为字符型,将会试图转换成数值型


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7484065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存