[prev in list] [next in list] [prev in thread] [next in thread]
List: postgresql-general
Subject: Re: [GENERAL] problem changing jsonb attribute to null value
From: Dmitry Dolgov <9erthalion6 () gmail ! com>
Date: 2017-11-15 22:07:01
Message-ID: CA+q6zcU0ZcE1Te0xULft0kou+Xnw=Oot1humv_5i7p12aF7hKg () mail ! gmail ! com
[Download RAW message or body]
> On 15 November 2017 at 22:54, RODRIGUEZ CORTES MARIO IGNACIO <
IGNACIO.CORTES@inegi.org.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?
[Attachment #3 (text/html)]
<div dir="ltr">> On 15 November 2017 at 22:54, RODRIGUEZ CORTES MARIO IGNACIO \
<<a href="mailto:IGNACIO.CORTES@inegi.org.mx">IGNACIO.CORTES@inegi.org.mx</a>> \
wrote:<br>><br>> I have a problem with a record in a jsonb type table, I'm \
trying to<br>> change the value of an attribute to null but it leaves me all \
the<br>> content in null and not just the value<br>><br>> prueba=# select \
jsonb_set('{"v" : 0}'::jsonb, '{"v"}', \
to_jsonb(null));<br>> ERROR: no se pudo determinar el tipo polimórfico porque \
el tipo de<br>> entrada es «unknown »<br>><br>> defining null value as a \
text type:<br>><br>> prueba=# select jsonb_set('{"v" : \
0}'::jsonb, '{"v"}',<br>> to_jsonb(null::text));<br>> \
jsonb_set <br>> -----------<br>> <br>> (1 fila)<br>><br>> it leaves \
the record in null, when I hope it leaves it with the null<br>> value in attribute \
"v": {"v": null}<br><br><div>I think something like this should \
work:<br><br>=# select jsonb_set('{"v" : 0}'::jsonb, \
'{"v"}', 'null'::jsonb);</div><div><div> \
jsonb_set</div><div>-------------</div><div> {"v": null}</div><div>(1 \
row)</div><div><br></div></div><div>is that what you want?</div></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic