【问题标题】:PostgreSQL convert column_1 text[] type to column_2 json typePostgreSQL 将 column_1 text[] 类型转换为 column_2 json 类型
【发布时间】:2015-03-17 17:44:52
【问题描述】:
  1. 是否有一种相当简单的方法可以将column_1(数据类型ttext[])复制到column_2(数据类型JSON)?

...或...

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

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

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

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

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

提示:指定一个 USING 表达式来执行转换。

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

【问题讨论】:

    标签: json postgresql


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      相关资源
      最近更新 更多