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

时间:2015-03-17 17:44:53

标签: json postgresql

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

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

    2. 我正在使用的表parts_bak1有两列名为material_sizetext[])和material_size_json(json)。

      我尝试直接转换以下列:

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

      错误:列“material_size”无法自动投射t

           

      提示:指定USING表达式以执行转换。

      我不确定如果我应该使用USING接近挑战?

1 个答案:

答案 0 :(得分:1)

欢迎输入,似乎可以工作:

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;