postgresql 替换jsonb数组中的值

svgewumm  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(264)

我有一个保存JSON数组的jsonb[]列。
示例记录如下所示:

[
  {"name":"Sam","url":"example.om/sam"},
  {"name":"Dan","url":"example.om/dan"}
]

我想在本专栏中的所有地方将example.om替换为example.com
我认为最简单的方法是将jsonb作为文本处理,然后进行字符串替换,但是我在转换回jsonb时遇到了麻烦。

update table tb
set users = replace(users, 'example.om', 'example.com')
jq6vz3qz

jq6vz3qz1#

工作溶液:

update my_table
set users = replace(users::text, 'example.om', 'example.com')::jsonb[]

相关问题