json - PostgreSQL 将 column_1 text[] 类型转换为 column_2 json 类型

标签 json postgresql

  1. 是否有一种相当简单的方法来复制 column_1 (数据类型 t text[] )到 column_2 (数据类型 JSON)?

……或者……

  1. 是否有一种相当简单的方法可以 直接转换列的数据类型text[] JSON

表格parts_bak1我正在使用的两列名为 material_size ( text[] ) 和 material_size_json (json).

我尝试直接将列转换为以下内容:

ALTER TABLE parts_bak1 ALTER COLUMN material_size TYPE JSON USING material_size::text[];

ERROR: column "material_size" cannot be cast automatically t

HINT: Specify a USING expression to perform the conversion.

我不确定如何,甚至如果我应该使用 USING 来应对挑战?

最佳答案

欢迎输入,这似乎有效:

UPDATE parts_bak1
SET material_size_json = subq.material_size 
FROM (SELECT id, array_to_json(material_size) AS material_size FROM parts_bak1) AS subq
WHERE parts_bak1.id=subq.id;

关于json - PostgreSQL 将 column_1 text[] 类型转换为 column_2 json 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29106138/

相关文章:

c# - Json.NET - 在 winforms 中反序列化和解析 json 数据

sql - 为什么 Postgres 忽略我在条件连接上的所有索引?

postgresql - 插入后同步两个表

postgresql - SQL 选择 : Return a specific value in an else condtion

javascript - Javascript 的工作 Json 库?

javascript - 使用 ko.mapping 问题映射 Json 字符串

database - 什么时候需要手动重新分析 PostgreSQL 中的表?

java - PostgreSQL “syntax error at end of input” 在 INSERT INTO 后出现 ON CONFLICT DO UPDATE 条件

java - 如果 JsonGenerator 是在 ByteArrayOutputStream 之上创建的,那么关闭它是否有意义

json - 无法创建嵌套结构