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

问题描述 投票:0回答:1

在执行下面的查询时,我将PostgreSQL列数据类型从integer []更改为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 

我已经引用了此链接so link,但不适用于将数组转换为普通数据类型。

sql postgresql
1个回答
0
投票
您需要选择要使用的数组元素。您无法转换,例如42个整数到一个整数。

例如如果要使用数组的第一个元素:

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


但是名为is_delete的列可能应该是boolean而不是整数。
© www.soinside.com 2019 - 2024. All rights reserved.