Re: problem changing jsonb attribute to null value

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: RODRIGUEZ CORTES MARIO IGNACIO <IGNACIO(dot)CORTES(at)inegi(dot)org(dot)mx>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: problem changing jsonb attribute to null value
Date: 2017-11-15 22:07:01
Message-ID: CA+q6zcU0ZcE1Te0xULft0kou+Xnw=Oot1humv_5i7p12aF7hKg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> On 15 November 2017 at 22:54, RODRIGUEZ CORTES MARIO IGNACIO <
IGNACIO(dot)CORTES(at)inegi(dot)org(dot)mx> wrote:
>
> I have a problem with a record in a jsonb type table, I'm trying to
> change the value of an attribute to null but it leaves me all the
> content in null and not just the value
>
> prueba=# select jsonb_set('{"v" : 0}'::jsonb, '{"v"}', to_jsonb(null));
> ERROR: no se pudo determinar el tipo polimórfico porque el tipo de
> entrada es «unknown»
>
> defining null value as a text type:
>
> prueba=# select jsonb_set('{"v" : 0}'::jsonb, '{"v"}',
> to_jsonb(null::text));
> jsonb_set
> -----------
>
> (1 fila)
>
> it leaves the record in null, when I hope it leaves it with the null
> value in attribute "v": {"v": null}

I think something like this should work:

=# select jsonb_set('{"v" : 0}'::jsonb, '{"v"}', 'null'::jsonb);
jsonb_set
-------------
{"v": null}
(1 row)

is that what you want?

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Matt Zagrabelny 2017-11-15 22:37:04 expanded auto and header linestyle double
Previous Message RODRIGUEZ CORTES MARIO IGNACIO 2017-11-15 21:54:31 problem changing jsonb attribute to null value