2017-06-27 79 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符合這裏的法案,他們被採取,而不是創建新的冗餘類型。

缺點是列的數據類型可能與您請求的數據類型不同,但只要它以它應該處理的方式處理數據,這是一個問題嗎?