mysql中价格用什么数据类型_Mysql 中价格用什么数据类型最佳?

MySQL中价格数据类型推荐使用DECIMAL,它适用于财务计算,保证精度且节省存储空间。DECIMAL允许指定有效位数和小数位数,如DECIMAL(10,2)可存储最多10位数,其中2位为小数。虽然理论上插入数值会自动调整以符合定义的位数,但在实际操作中并不总是自动补零,这可能与具体设置有关。" 90230947,7687379,LeetCode: 寻找串联所有单词的子串解决方案,"['算法', '字符串处理', '编程挑战']
摘要由CSDN通过智能技术生成

答案是:DECIMAL

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

Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。存储数据范围是:-10^38~10^38-1 的固定精度和小数位的数字。一个decimal类型的数据占用了2~17个字节。

位数

decimal[ (p[ , s] )]

p (有效位数)

可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数 38 之间的值。预设有效位数是 18。

s (小数位数)

小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到 p 的值。只有在指定了有效位数时,才能指定小数位数。预设小数位数是 0;因此,0 <= s <= p。最大储存体大小会随著有效位数而不同。

Decimal(n,m)表示数值中共有n位数,其中整数n-m位,小数m位。例:decimal(10,6),数值中共有10位数,其中整数占4位,小数占6位。

例:decimal(2,1),此时,插入数据“12.3”、“12”等会出现“数据溢出错误”的异常;插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;插入“2”会自动补成“2.0”,以确保2位的有效长度,其中包含1位小数。

上面说到插入“2”会自动补成“2.0” 但是在实际 操作中不会自动填补。下面是我自己实现操作的截图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值