2017-06-27 78 views
-2

早上好,float or double precision

当我告诉postgresql显示一个列为float时,我总是得到一个结果为“double precision”。

它是一样的吗?

+1

您是否考虑检查[documentation](https://www.postgresql.org/docs/9.1/static/datatype-numeric.html):“'float”没有指定精度意味着'double precision '。“? –

回答

0

像达明从the documentation报价:

的PostgreSQL还支持用于指定非精确数值类型的SQL标准的符号floatfloat(p)。 这里,p指定二进制数字的最小可接受精度。
的PostgreSQL接受float(1)float(24)作为选择real类型, 而float(25)float(53)选择double precision
超出允许范围的p的值会引发错误。没有指定精度的
float意味着double precision

与其他数据库一样,PostgreSQL在请求某个SQL标准类型时通过提供适当的数据类型来支持SQL标准。由于realdouble precision符合这里的法案,他们被采取,而不是创建新的冗余类型。

缺点是列的数据类型可能与您请求的数据类型不同,但只要它以它应该处理的方式处理数据,这是一个问题吗?