3

我正在尝试将列类型从“字符变化(15)”更改为整数。

如果我运行“=#SELECT columnX from tableY limit(10);” 我回来了:

columnX 
----------
34.00
12.00
7.75
18.50

4.00
11.25

18.00
16.50

如果我运行“=#\d+ columnX”,我会回来:

     Column     |         Type          |                           Modifiers                           | Storage  | Description 

columnX       | character varying(15) | not null                                                      | extended | 

我搜索了高低,在 postgresql irc 频道上询问,但没有人知道如何更改它,我尝试过:

ALTER TABLE race_horserecord ALTER COLUMN win_odds TYPE integer USING (win_odds::integer);

还:

ALTER TABLE tableY ALTER COLUMN columnX TYPE integer USING (trim("columnX")::integer);

每次回来:

“错误:整数的无效输入语法:“34.00””


任何帮助,将不胜感激。

4

1 回答 1

7

试试USING (win_odds::numeric::integer)

请注意,它将舍入您的小数值(例如'7.75'::numeric::integer= 8)。

于 2013-04-10T04:11:36.970 回答