0

我有 numeric(5,2) 数据类型的列。

当实际数据为 1.25 时,正确显示为 1.25。

当实际数据为 1.00 时,显示为 1。

谁能告诉我为什么?是否需要设置一些东西才能显示两位小数 0?

4

2 回答 2

0

这是 pgAdmin4 的一个错误,并且已经报告了https://redmine.postgresql.org/issues/2039

于 2017-01-30T12:42:24.147 回答
0

我认为这可能是 pgadmin4 特有的问题。考虑:

> createdb test
> psql -d test
psql (9.4.9)
Type "help" for help.

test=# create table mytest(id serial not null primary key, name varchar(30),salary numeric(5,2));
CREATE TABLE
test=# select * from mytest;
 id | name | salary 
----+------+--------
(0 rows)
test=# insert into mytest(name,salary) values('fred',10.3);
INSERT 0 1
test=# insert into mytest(name,salary) values('mary',11);
INSERT 0 1
test=# select * from mytest;
 id | name | salary 
----+------+--------
  1 | fred |  10.30
  2 | mary |  11.00
(2 rows)
test=# select salary from mytest where name = 'mary';
 salary 
--------
  11.00
(1 row)

如您所见,此示例使用的是 9.4 版本,但将是一个简单的测试,以查看问题是 9.6 还是 pgadmin4。在 pgadmin3 中,该值以小数位正确显示。上次我尝试 pgadmin4 时,它遇到了许多烦人的问题,让我暂时急忙回到 pgadmin3。但是有一个列表,您可以在其中寻求对该错误的确认:https ://redmine.postgresql.org/projects/pgadmin4

于 2017-01-28T17:36:38.803 回答