[英]Why are my PostgreSQL “real” data being rounded?
我有一個表,其中有一個名為total
的列,具有real
數據類型。
但是我發現在查詢其值時該列已被四舍五入,如下所示:
SELECT total FROM data WHERE id='xe54g';
total
---------
105861
UPDATE data SET total=105860.5 WHERE id='xe54g';
UPDATE 1
SELECT total FROM data WHERE id='xe54g';
total
---------
105860
UPDATE data SET total=105860.7 WHERE id='xe54g';
UPDATE 1
SELECT total FROM data WHERE id='xe54g';
total
---------
105861
\d+ data
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
-----------+-------+-----------+----------+-----------+----------+--------------+-------------
total | real | | | 0 | plain | |
如何獲得返回的全精度? 我正在使用PG 11.1。
您可以通過設置獲得全精度
extra_float_digits = 3
然后PostgreSQL也將顯示可能包含舍入錯誤的十進制數字。
請注意, real
數的有效位數很少。 如果使用double precision
會更快樂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.