我试图用以下方法截断PostgreSQL中的数字:

SELECT trunc(31.71429,15);

我有这个输出:
31.714290000000000

但在甲骨文里我有这样一个:
31.71429

怎么能有和甲骨文一样的输出呢?

最佳答案

这是数值数据类型的行为。最简单的解决方案-可能会丢失一些小精度,将其转换为双精度:

postgres=# SELECT trunc(31.71429,15);
┌────────────────────┐
│       trunc        │
╞════════════════════╡
│ 31.714290000000000 │
└────────────────────┘
(1 row)

postgres=# SELECT trunc(31.71429,15)::double precision;
┌──────────┐
│  trunc   │
╞══════════╡
│ 31.71429 │
└──────────┘
(1 row)

关于postgresql - 从trunc()函数返回的数字中删除尾随零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45740355/

10-09 04:49