是float(0)SQL数据类型有效吗?

Som*_*ere 2 sql

我认为浮动(n)中n的最小值必须为1.

我之前没有看过"float(0)"数据类型,所以我想知道它是否有效.

Dan*_*n J 5

如果没有指定实现,这个问题可能不是非常有意义.

例如,在SQL Server中,float的最小精度为1.

其中n是用于以科学计数法存储浮点数的尾数的位数,因此,它决定了精度和存储大小.如果指定了n, 则它必须是1到53之间的值.n的默认值为53.

另一方面,在MySQL中,float(0)语法是有效的,但它听起来并不十分有意义.从规格:

MySQL还支持此可选的精度规范,但精度值仅用于确定存储大小.精度从0到23会产生一个四字节的单精度FLOAT列.精度从24到53会产生一个8字节的双精度DOUBLE列.

Oracle 有一个FLOAT数据类型,但它似乎只是NUMBER的别名,其最小精度为1:

具有精度p的NUMBER数据类型的子类型.FLOAT值在内部表示为NUMBER. 精度p的范围可以是1到126个二进制数字.FLOAT值需要1到22个字节.

因此,您可以看到答案是高度针对特定于实现的.我不确定ANSI SQL标准是否指定了FLOAT精度.他们可能没有.