Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.databases.postgresql > #809

Re: Update Json column

Newsgroups comp.databases.postgresql
Date 2018-02-28 03:06 -0800
References <fd35c1ca-2d97-476e-88bd-36c0dd722b41@googlegroups.com> <p73l09$27o$1@dont-email.me>
Message-ID <f79bd543-002e-4a38-8f74-0727c9f83bb6@googlegroups.com> (permalink)
Subject Re: Update Json column
From forough m <fmirkarimzade@gmail.com>

Show all headers | View raw


On Tuesday, February 27, 2018 at 4:34:10 PM UTC+3:30, Laurenz Albe wrote:
> 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)

Than you soo much :)

Back to comp.databases.postgresql | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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