change column datatype from array to integer

前端 未结 2 984
Happy的楠姐
Happy的楠姐 2021-01-29 14:39

I need to change the data type of a column from _float8 to int4

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

results in

相关标签:
2条回答
  • 2021-01-29 15:22

    You have to point out which element of the array should be used in the conversion, e.g.

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

    db<>fiddle.

    0 讨论(0)
  • 2021-01-29 15:30

    The problem is that you have an array. To fix this, you need array operators:

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

    Here is a db<>fiddle.

    0 讨论(0)
提交回复
热议问题