如何在Postgresql中为列分配数据类型十进制?

时间:2013-03-08 03:10:22

标签: postgresql postgresql-9.1

我最近在使用postgresql-9.1。

出于某种原因,我必须使用不支持数据类型数字但小数的技术。不幸的是,我在Postgresql中为它们分配了小数的列的数据类型总是数字。我试图改变类型,但它没有工作,虽然我得到的消息就像“查询成功返回12毫秒没有结果”。

所以,我想知道如何让列成为小数。

任何帮助都将受到高度赞赏。

e.g。

我的创作条款:

CREATE TABLE IF NOT EXISTS htest
(
  dsizemin decimal(8,3) NOT NULL,
  dsizemax decimal(8,3) NOT NULL,
  hidentifier character varying(10) NOT NULL,
  tgrade character varying(10) NOT NULL,
  fdvalue decimal(8,3),
  CONSTRAINT htest_pkey PRIMARY KEY (dsizemin , dsizemax , hidentifier , tgrade )
);

我的改变条款:

ALTER TABLE htest
ALTER COLUMN dsizemin TYPE decimal(8,3);

但它不起作用。

1 个答案:

答案 0 :(得分:5)

在PostgreSQL中,"十进制"是"数字"的别名当你的应用程序认为它需要一个名为" decimal"的类型时会出现一些问题。来自数据库。正如克雷格上面提到的,你甚至无法创建一个名为" decimal"

的域名。

数据库方面没有好的解决方法。您唯一能做的就是更改应用程序以期待数字数据类型。