我将列的一个长度定义为double(16,2)。这里16不是固定的。但是,2是固定的。尽管显示长度(16)将根据计算而变化。所以我想让它变长。
现在我的问题是-是否有任何方法只定义浮点数no (从我的例子中2)和显示长度(16)作为变量?因为我不想占用不必要的空间。
发布于 2014-02-05 12:16:04
浮动和双类型表示近似数值数据值。
MySQL对单精度值使用4个字节,对双精度值使用8个字节。
MySQL也支持这个可选的精度规范,但是精度值仅用于确定存储大小。从0到23的精度将导致4字节的单精度浮点数列.从24到53的精度会产生8字节的双精度双列.。
MySQL允许非标准语法:浮点(M,D)或实(M,D)或双精度(M,D)。在这里,“(M,D)”的意思是可以用总计最多M位的值来存储,其中D位数可能在小数点之后。
浮点数:
一个小的(单精度)浮点数字。允许值为-3.402823466E+38至- 1.175494351E-38,0和1.175494351E-38至3.402823466E+38。这些都是基于IEEE标准的理论极限。根据硬件或操作系统的不同,实际范围可能会稍微小一些。一个单精度浮点数精确到大约小数点7位.这不是必需的,默认为10,2, (如果省略了M和D,则将值存储到硬件允许的范围内)。
DOUBLE:
M是数字的总数,D是小数点后面的数字数。如果省略M和D,则将值存储到硬件允许的范围内。一个双精度浮点数精确到大约小数点15位.这不是必需的,默认为16,4,其中4是小数。(如果省略M和D,则将值存储到硬件允许的范围内。)
关于更多的http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
发布于 2014-02-05 12:11:52
MySQL DOUBLE数据类型无论您存储在其中的数字如何,都是占用8字节的存储空间。
https://stackoverflow.com/questions/21576816
复制相似问题