4

最近、postgresql-9.1 を使用しています。

何らかの理由で、数値ではなく小数のデータ型をサポートしない技術を使用する必要があります。残念ながら、Postgresql で 10 進数を割り当てた列のデータ型は常に数値です。タイプを変更しようとしましたが、「クエリが正常に返され、12 ミリ秒で結果がありません」のようなメッセージが表示されましたが、うまくいきませんでした。

SO、列を10進数にする方法を知りたいです。

どんな助けでも大歓迎です。

例えば

私の作成条項:

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);

しかし、うまくいきません。

4

2 に答える 2

5

PostgreSQL では、"decimal" は "numeric" のエイリアスであり、アプリがデータベースから "decimal" と呼ばれる型を期待していると考えると、いくつかの問題が発生します。Craig が前述したように、「decimal」というドメインを作成することさえできません。

データベース側で適切な回避策はありません。あなたができる唯一のことは、アプリケーションを変更して数値データ型を期待することです。

于 2013-03-14T11:23:22.010 に答える