我在表列中有,类型是CHARACTER VARYING[](即数组)

我需要将已有的行与其他数组连接起来

这是我的代码:

UPDATE my_table SET
col = array_cat(col, ARRAY['5','6','7'])   

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

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

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

推荐答案

投到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[]

您可以使用PostgreSQL专用::varchar[]或标准CAST(colname AS varchar[])...虽然数组在数据库实现中并不一致,但使用标准语法并没有多大优势.

Postgresql相关问答推荐

Qt,PostgreSQL -从NUERIC列检索max int64_t/uint64_t值

使用regexp获取表名

如何使用docker/docker-compose转到本地主机?

Postgres-pgloader-默认情况下,在PostgreSQL中将列名转换为小写

使用 pgAdmin 4 v7.4 在 Windows 11 上全新安装 PostgreSQL 15.3-3 无法启动 - 卡在正在加载 pgAdmin 4 v7.4...

合并两个字典并创建一个包含更新凭据的字典列表

PostgreSQL pg_dump 创建 sql 脚本,但它不是 sql 脚本:有没有办法让 pg_dump 创建标准的 sql 脚本?

如何在postgresql中按时间查询

PostgreSQL SELECT 结果具有不同的 id,它更喜欢来自另一个表的特定值

如何在 postgresql 中创建一个空的 JSON 对象?

org.postgresql.util.PSQLException:错误:relation "app_user" does not exist

如何在容器内创建 postgres 扩展?

在 Spring Boot 上使用 Hibernate 映射 PostGIS 几何点字段

如何使 Java 和 Postgres 枚举一起工作以进行更新?

Django 1.9.2 AssertionError:database connection isn't set to UTC

在 PostgreSQL 中使用 Cursors进行分页

如何将 PostgreSQL 查询输出导出到 csv 文件

Android 的 JDBC 与 Web 服务

使用 PostgreSQL 进行字母数字排序

在 docker-compose up 后加载 Postgres 转储