如何在 json 现有值中连接一些文本
How to concat some text in json exiting value
我有 json 喜欢 "address":"Ghaziabad street no 2 near"
,我想添加一些文字。
更新后我要
"address":"Ghaziabad street no 2 near temple"
create table address(details json)
insert into address
values('{"ID":"001","name": "Ven", "Country": "Australia", "city": "Sydney", "Job Title":"Database Consultant"}')
我有 300 条这样的记录。我的任务是在 city (key) 中连接更多的文本。
所以json喜欢
{
"ID":"001",
"name": "Ven",
"Country": "Australia",
"city": "Sydney alias meta ",
"Job Title":"Database Consultant"
}
我想在所有行中附加别名元json
您需要将 jsonb_set()
与 ->>
运算符结合使用以获得旧值。由于您使用的是 json
而不是推荐的 jsonb
类型,因此您需要转换值:
update address
set details = jsonb_set(details::jsonb,
'{city}',
to_jsonb((details ->> 'city')||' alias meta'))
;
(details ->> 'city')||' alias meta'
获取键 city
的值并附加字符串 ' alias meta'
。然后使用此值为 jsonb_set()
中的 city
键设置新值以更新列。
我有 json 喜欢 "address":"Ghaziabad street no 2 near"
,我想添加一些文字。
更新后我要
"address":"Ghaziabad street no 2 near temple"
create table address(details json)
insert into address
values('{"ID":"001","name": "Ven", "Country": "Australia", "city": "Sydney", "Job Title":"Database Consultant"}')
我有 300 条这样的记录。我的任务是在 city (key) 中连接更多的文本。
所以json喜欢
{
"ID":"001",
"name": "Ven",
"Country": "Australia",
"city": "Sydney alias meta ",
"Job Title":"Database Consultant"
}
我想在所有行中附加别名元json
您需要将 jsonb_set()
与 ->>
运算符结合使用以获得旧值。由于您使用的是 json
而不是推荐的 jsonb
类型,因此您需要转换值:
update address
set details = jsonb_set(details::jsonb,
'{city}',
to_jsonb((details ->> 'city')||' alias meta'))
;
(details ->> 'city')||' alias meta'
获取键 city
的值并附加字符串 ' alias meta'
。然后使用此值为 jsonb_set()
中的 city
键设置新值以更新列。