Ich habe eine JSONB Spalte mit JSON, die wie folgt aussieht:Ändern Datentyp eines Feldes in JSONB in Postgres
{ "id": "3", "username": "abcdef"}
gibt es Möglichkeit, die JSON zu aktualisieren:
{ "id": 3, "username": "abcdef"}
Ich habe eine JSONB Spalte mit JSON, die wie folgt aussieht:Ändern Datentyp eines Feldes in JSONB in Postgres
{ "id": "3", "username": "abcdef"}
gibt es Möglichkeit, die JSON zu aktualisieren:
{ "id": 3, "username": "abcdef"}
Aktualisieren Sie die jsonb Spalte die concatenate operator ||, z.B .:
create table example(id int, js jsonb);
insert into example values
(1, '{"id": "3", "username": "abcdef"}');
update example
set js = js || jsonb_build_object('id', (js->>'id')::int)
returning *;
id | js
----+---------------------------------
1 | {"id": 3, "username": "abcdef"}
(1 row)
mit
select json_build_object('id',CAST(j->>'id' AS NUMERIC),'username',j->>'username')::jsonb from (
select '{"id" : "3", "username" : "abcdef"}' :: jsonb AS j
)t