PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum gibt die PostgreSQL-Funktion json_agg() kein leeres Array zurück?

json_agg gibt null aus einer leeren Menge zurück:

select json_agg(t.*) is null
from (select 'test' as mycol where 1 = 2) t ;
 ?column? 
----------
 t

Wenn Sie ein leeres JSON-Array wünschen, coalesce es:

select coalesce(json_agg(t.*), '[]'::json)
from (select 'test' as mycol where 1 = 2) t ;
 coalesce 
----------
 []