From: | RODRIGUEZ CORTES MARIO IGNACIO <IGNACIO(dot)CORTES(at)inegi(dot)org(dot)mx> |
---|---|
To: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Problema al dar de alta valor vació en JSON |
Date: | 2017-11-15 20:54:38 |
Message-ID: | 1510779247.2563.12.camel@inegi.org.mx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buenas tardes a todos:
Tengo un problema con un registro en una tabla de tipo jsonb, estoy
tratando de cambiar el valor de un atributo a null pero me deja todo el
contenido en null y no solo el valor, les muestro un ejemplo primero de
como definir el atributo null:
prueba=# select jsonb_build_object('v', null);
jsonb_build_object
--------------------
{"v": null}
(1 fila)
asi esta bien definido el objeto, luego al tratar de cambiar el valor
con jsonb_set con algún valor de tipo jsonb, lo hace de forma correcta:
prueba=# select jsonb_set('{"v" : 0}'::jsonb, '{"v"}', to_jsonb(1));
jsonb_set
-----------
{"v": 1}
(1 fila)
pero si intento poner el valor de "v" en null al parecer hay conflicto:
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»
o bien casteando el null como si fuera de tipo texto
prueba=# select jsonb_set('{"v" : 0}'::jsonb, '{"v"}',
to_jsonb(null::text));
jsonb_set
-----------
(1 fila)
deja todo el registro en null, cuando yo esperaría que lo dejara con el
valor: {"v": null}
Les agradezco su ayuda!!!!
Saludos!!!!
From | Date | Subject | |
---|---|---|---|
Next Message | Gilberto Castillo | 2017-11-16 15:25:27 | pgMail 1.4 Released! |
Previous Message | Hellmuth Vargas | 2017-11-14 14:44:10 | Re: Recorre select en memoria por cada registro de otra tabla |