MySQL中decimal类型的一点注意

MySQL中的decimal可以存储小数,经常用于价格、金额等的存储。

但建表时需指定decimal的格式,例如 decimal(5,2)或decimal(4,1)等等。

那么decimal(5,2)或decimal(4,1)代表什么意思呢?

笔者今天刚刚发现自己一直以来的一个错误:一直认为decimal(5,2)表示的是小数点前可存5位,小数点后可存2位。

但今天一个客户在充值后,我发现账户余额显示为999.99元。

后来经调试才发现,decimal(5,2)其实表示的是总共有5位,小数点后可存2位。这样也就是小数点前只能存3位。

如果插入的数值大于1000,那么都将存储为999.99。

希望同样存在此错误认识的朋友能看到这篇文章。以免造成损失。



发表评论

邮箱地址不会被公开。