【发布时间】:2020-11-02 21:02:45
【问题描述】:
我有一个 jsonb 类型的列,包含字符串或整数格式的元素列表。 我现在想要的是将它们全部设为相同类型,例如全部为 int 或全部为字符串格式
试过:这样我得到了单个元素,但我需要更新列表中的所有元素。
SELECT parent_path -> 1 AS path
FROM abc
LIMIT 10
或
Update abc SET parent_path = ARRAY[parent_path]::TEXT[] AS parent_path
FROM abc
或
UPDATE abc SET parent_path = replace(parent_path::text, '"', '') where id=123
电流输出
path
[6123697, 178, 6023099]
[625953521394212864, 117, 6023181]
["153", "6288361", "553248635949090971"]
[553248635358954983, 178320, 174, 6022967]
[6050684, 6050648, 120, 6022967]
[653, 178238, 6239135, 38, 6023117]
["153", "6288496", "553248635977039112"]
[553248635998143523, 6023185]
[553248635976194501, 6022967]
[553248635976195634, 6022967]
预期输出
path
[6123697, 178, 6023099]
[625953521394212864, 117, 6023181]
[153, 6288361, 553248635949090971] <----
[553248635358954983, 178320, 174, 6022967]
[6050684, 6050648, 120, 6022967]
[653, 178238, 6239135, 38, 6023117]
[153, 6288496, 553248635977039112] <----
[553248635998143523, 6023185]
[553248635976194501, 6022967]
[553248635976195634, 6022967]
注意:列表中缺少双引号。我尝试了here 的几种方法,但没有运气
【问题讨论】:
标签: postgresql