seems it's a bug around value 0. SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (10, NULL),(4, null), (5, null),(6, null),(2, 2)) foo(k, v); return: {"1": 1, "2": 2}
SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (0, NULL),(4, null), (5, null),(6, null),(2, 2)) foo(k, v); return {"0": null, "1": 1, "2": 2} On Mon, Apr 25, 2022 at 10:41 AM alias <postgres.ro...@gmail.com> wrote: > select json_objectagg( > k:v absent on null with unique keys returning text ) > from ( > values(1,1),(0, null),(3, null),(2,2),(4,null) > ) foo(k, v); > > return > > json_objectagg > ---------------------- > { "1" : 1, "2" : 2 } > -------------------- > > select json_objectagg(k:v absent on null with unique keys) > from ( > values(1,1),(0, null),(3, null),(2,2),(4,null) > ) foo(k, v); > > return > > json_objectagg ---------------------- { "1" : 1, "2" : 2 } > > *But* > > select json_objectagg( > k:v absent on null with unique keys returning jsonb ) > from ( > values(1,1),(0, null),(3, null),(2,2),(4,null) > ) foo(k, v); > > return > json_objectagg ----------------------------- {"0": null, "1": 1, "2": 2} > > the last query "returning jsonb" should be { "1" : 1, "2" : 2 } ? > > version: > >> PostgreSQL 15devel (Ubuntu >> 15~~devel~20220407.0430-1~713.git79b716c.pgdg20.04+1) on >> x86_64-pc-linux-gnu, >> compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit > >