簡體   English   中英

postgresql將列類型從數組更改為整數拋出轉換錯誤

[英]postgresql changing column type from array to integer throwing casting error

我正在將 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 

我已經提到了這個鏈接所以鏈接但它不能用於將數組轉換為普通數據類型..

編輯:-它是空表,沒有任何數據...

您需要選擇要使用的數組元素。 您不能將例如 42 個整數轉換為單個整數。

例如,如果您想使用數組的第一個元素:

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

但是名為is_delete的列可能應該是boolean而不是整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM