so schließen Sie null-Werte in array_agg wie in string_agg mit postgres?

Wenn ich array_agg zu sammeln, die Namen, die ich meinen Namen durch Kommas getrennt, aber in Fall gibt es eine null Wert, , null " wird auch als name in der Gesamtheit. Zum Beispiel :

SELECT g.id,
       array_agg(CASE WHEN g.canonical = 'Y' THEN g.users ELSE NULL END) canonical_users,
       array_agg(CASE WHEN g.canonical = 'N' THEN g.users ELSE NULL END) non_canonical_users
FROM groups g
GROUP BY g.id;

gibt es ,Larry,Phil statt nur Larry,Phil (in meinem 9.1.2, es zeigt NULL,Larry,Phil). wie in diese fiddle

Statt, wenn ich string_agg() zeigt er mir nur die Namen (ohne leer Kommas oder Nullen) wie hier

Das problem ist, dass ich Postgres 8.4 auf dem server installiert, und string_agg() funktioniert dort nicht. Gibt es eine Möglichkeit, um array_agg funktionieren ähnlich wie string_agg() ?

InformationsquelleAutor der Frage Daud | 2012-10-29

Schreibe einen Kommentar