转换数组类型

OTA*_*TAR 14 postgresql postgresql-9.2

我有表列,哪个类型CHARACTER VARYING[](即数组)

我需要连接其他数组的现有行

这是我的代码:

UPDATE my_table SET
col = array_cat(col, ARRAY['5','6','7'])   
Run Code Online (Sandbox Code Playgroud)

返回错误: function array_cat(character varying[], text[]) does not exist

原因错误是数组类型不匹配吗?

问题:如何将此数组转换ARRAY['5','6','7']CHARACTER VARYING[]类型?

Cra*_*ger 33

演员varchar[]:

 > SELECT ARRAY['5','6','7']::varchar[], pg_typeof( ARRAY['5','6','7']::varchar[] );

 SELECT ARRAY['5','6','7']::varchar[], pg_typeof( ARRAY['5','6','7']::varchar[] );
  array  |      pg_typeof      
---------+---------------------
 {5,6,7} | character varying[]
Run Code Online (Sandbox Code Playgroud)

您可以使用PostgreSQL特定的::varchar[]或标准的CAST(colname AS varchar[])......但由于数组在数据库实现中不一致,因此使用标准语法不会有太大的优势.