我必须存储正十进制数,如下所示: 0.00005438543978579432
存储此类信息的最佳MySQL数据类型是什么?
我想使用DECIMAL(1,20),但第一个参数必须是> =到第二个参数。在我的情况下,正数位数将始终为0,因此永远不会出现需要在“。”之前存储20位数的情况,因此拥有数据类型为DECIMAL的列似乎是浪费(20 ,20)。
答案 0 :(得分:4)
DECIMAL(20,20)
这表示总共20位数,小数点后面的数字为20位。 (这意味着小数点前最多有0位数。)
精度(第一个值)包括小数点前后的所有数字,总位数。
这就是为什么DECIMAL(M,N)
指定M >= N.
为了允许小数点前的单个数字,那么您需要M = N+1
,例如DECIMAL(21,20)。
http://dev.mysql.com/doc/refman/5.1/en/fixed-point-types.html