PostgreSQL 将列类型从数组更改为整数抛出转换错误



我正在将postgresql列数据类型从integer[]更改为整数,同时执行以下查询,

alter table contact_type alter column is_delete set data type integer USING is_delete::integer

我得到以下错误

ERROR:  cannot cast type integer[] to integer
LINE 1: ...umn is_delete set data type integer USING is_delete::integer
^
SQL state: 42846
Character: 86

但是当尝试将数据类型从 varchar[] 更改为 char 时,下面的查询工作正常

alter table contact_type alter column ct_type set data type varchar 

我已经引用了这个链接,所以链接,但它不适用于将数组转换为普通数据类型。

编辑 :- 这是没有任何数据的空表...

您需要选择要使用的数组元素。例如,您不能将 42 个整数转换为单个整数。

例如,如果你想使用数组的第一个元素:

alter table contact_type  
alter column is_delete 
set data type integer USING is_delete[1];

但是名为is_delete的列可能应该是boolean而不是整数。

最新更新