小编Tec*_*Sam的帖子

如何防止 PostgreSQL 自动舍入数字类型?

我有一个简单的架构和 MWE 查询。

架构:

CREATE TABLE ttable (
  tcol Numeric(19,4)
)
Run Code Online (Sandbox Code Playgroud)

询问:

INSERT INTO ttable (tcol) VALUES ('123.45678');
SELECT * FROM ttable;
Run Code Online (Sandbox Code Playgroud)

小提琴

结果:

123.4568

在这种情况下,我失去了精度。我输入了五位小数,但 Postgres 自动四舍五入。我希望这是一个错误,或者至少是我可以检测到的某种警告,以便我可以告诉用户精度损失。

我怎样才能做到这一点?

编辑:

这个问题显然不是这个问题的重复。在那个问题中,用户正在使用一个客户端应用程序,该应用程序对低于存储精度的值进行四舍五入。我的问题是关于 Postgres 本身对数据进行四舍五入以适合,而不是客户端显示。对于那些比这两个问题的标题看得更远的人来说,这将是显而易见的。

postgresql decimal

0
推荐指数
1
解决办法
699
查看次数

标签 统计

decimal ×1

postgresql ×1