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。
希望同样存在此错误认识的朋友能看到这篇文章。以免造成损失。