我正在将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
而不是整数。