Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.databases.postgresql > #808
| From | Laurenz Albe <laurenz@nospam.pn> |
|---|---|
| Newsgroups | comp.databases.postgresql |
| Subject | Re: Update Json column |
| Date | 2018-02-27 13:04 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <p73l09$27o$1@dont-email.me> (permalink) |
| References | <fd35c1ca-2d97-476e-88bd-36c0dd722b41@googlegroups.com> |
forough m wrote:
> I create a table with a Json type column. I need to update one key:value
> in Json. i.e increment value of 3 to 5. Can i do it?
If you have PostgreSQL 9.5 or better, you can use "json_set" like this:
CREATE TABLE jsontest (
id integer PRIMARY KEY,
j jsonb
);
INSERT INTO jsontest VALUES (1, '{"a": 12, "b": {"c": 12, "d": 4}}');
TABLE jsontest;
id | j
----+-----------------------------------
1 | {"a": 12, "b": {"c": 12, "d": 4}}
(1 row)
UPDATE jsontest
SET j = jsonb_set(
j,
'{b,c}',
((j #>> '{b,c}')::integer + 30)::text::jsonb
)
WHERE id = 1;
TABLE jsontest;
id | j
----+-----------------------------------
1 | {"a": 12, "b": {"c": 42, "d": 4}}
(1 row)
Back to comp.databases.postgresql | Previous | Next — Previous in thread | Next in thread | Find similar
Update Json column forough m <fmirkarimzade@gmail.com> - 2018-02-26 22:09 -0800
Re: Update Json column Laurenz Albe <laurenz@nospam.pn> - 2018-02-27 13:04 +0000
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-02-28 03:06 -0800
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-02-28 03:21 -0800
Re: Update Json column Laurenz Albe <laurenz@nospam.pn> - 2018-03-01 10:18 +0000
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-03-05 01:44 -0800
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-03-06 07:47 -0800
Re: Update Json column Laurenz Albe <laurenz@nospam.pn> - 2018-03-07 07:48 +0000
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-03-07 00:09 -0800
Re: Update Json column Laurenz Albe <laurenz@nospam.pn> - 2018-03-08 11:36 +0000
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-03-09 21:07 -0800
Re: Update Json column forough m <fmirkarimzade@gmail.com> - 2018-03-07 00:10 -0800
csiph-web