column_1
(数据类型t text[]
)复制到column_2
(数据类型为JSON)?...或...
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[];
错误:列“material_size”无法自动投射t
提示:指定USING表达式以执行转换。
我不确定如果我应该使用USING
接近挑战?
答案 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;