我应该使用什么列类型来存储MySQL中0到1之间的值(比如最多5个小数位)?

时间:2010-01-04 09:50:50

标签: mysql

最重要的是它是准确的,但它也应该占用尽可能少的磁盘空间。

2 个答案:

答案 0 :(得分:5)

您需要DECIMAL(6,5)来存储0到1之间的数字,其中包含5位小数。

DECIMAL列的声明语法是DECIMAL(M,D)。 MySQL 5.1中参数的值范围如下:

  • M是最大位数(精度)。它的范围是1到65.

  • D是小数点右边的位数(刻度)。它的范围为0到30,且不得大于M.

答案 1 :(得分:1)

根据this,在MySQL 5.0.3中

  • DECIMAL(5,5)或DECIMAL(6,6)应该占用3个字节。
  • DECIMAL(4,4)2个字节。

如果您需要存储0到1(含)的值,您可能会想要使用DECIMAL(6,5)。但是占用4个字节作为整数,浮点部分分开存储,你需要一个字节用于整数,三个用于5个十进制数字。如果你有4个字节,你也可以使用FLOAT。

在MySql之前5 DECIMAL存储为字符串,最有效的方法是存储SMALLINT或MEDIUMINT(2或3个字节)并分别手动除以10000或1000000。

相关问题