2

我必须存储正的十进制数字,如下所示:0.00005438543978579432

存储此类信息的最佳 MySQL 数据类型是什么?

我想使用 DECIMAL(1, 20),但第一个参数必须 >= 第二个参数。在我的情况下,正数将始终为 0,因此永远不会出现我需要在“。”之前存储 20 位数字的情况,因此拥有数据类型为 DECIMAL(20) 的列似乎是一种浪费,20)。

4

1 回答 1

5
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

于 2012-08-30T18:27:20.080 回答