изменить тип данных столбца из массива в целое число - PullRequest
0 голосов
/ 25 июня 2019

Мне нужно изменить тип данных столбца с _float8 на int4

ALTER TABLE "table" ALTER COLUMN "col" SET DATA TYPE int4;

результаты в column "col" cannot be cast automatically to type integer

ALTER TABLE "table" ALTER COLUMN "col" SET DATA TYPE int4 USING (col::integer);

результаты в cannot cast type double precision[] to integer

есть идеи?

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Вы должны указать, какой элемент массива следует использовать при преобразовании, например,

alter table x alter column y set data type int4 using (y[1]::int)

дб <> скрипка.

0 голосов
/ 25 июня 2019

Проблема в том, что у вас есть массив . Чтобы это исправить, вам нужны операторы массива:

ALTER TABLE "table"
    ALTER COLUMN "col" SET DATA TYPE int4 USING (col[1]::integer);

Здесь - это дБ <> скрипка.

...