{"Entry":{"collection":"func","key":"json-objectagg","name":"json_objectagg","aliases":[],"metadata":{"changed_in":[],"changes":[{"descriptions_changed":false,"doc_overhaul":false,"from":"15","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"added","to":"16"}],"content_hash":"c1d328db94fe072e68d46ad646832e32191ce0cdb51fbd7787603efa6ebfe1f9","first_version":"16","group":"aggregate","group_label":"Aggregate Functions","groups":["aggregate"],"imported_at":"2026-09-14T21:49:48.857059+08:00","last_version":"20","name":"json_objectagg","name_key":"json_objectagg","position":21023,"present_in":["16","17","18","19","20"],"signature":"json_objectagg ( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])","signature_count":1,"slug":"json-objectagg","source_rev":"2026-09-14T13:14:25.684213+00:00@99e6866c","summary":"Behaves like json_object, but as an aggregate function, so it only takes one key_expression and one value_expression parameter.","summary_zh":""}},"Definition":{"Collection":"func","Key":"json-objectagg","SourceDatabase":"center","Version":"18","SourceTable":"func","SourceKey":"json-objectagg","SourceRevision":"2026-09-14T13:14:25.684213+00:00@99e6866c","Facts":{"description":"Behaves like json_object, but as an aggregate function, so it only takes one key_expression and one value_expression parameter.","description_html":"Behaves like \u003ccode class=\"function\"\u003ejson_object\u003c/code\u003e, but as an aggregate function, so it only takes one \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e and one \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e parameter.","description_zh":"","description_zh_html":"","doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","slug":"18"},"group":"aggregate","group_label":"Aggregate Functions","lang":"en","layout":"table-new","pages":["functions-aggregate.html"],"prose_only":false,"signatures":[{"description":"Behaves like json_object, but as an aggregate function, so it only takes one key_expression and one value_expression parameter.","description_html":"Behaves like \u003ccode class=\"function\"\u003ejson_object\u003c/code\u003e, but as an aggregate function, so it only takes one \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e and one \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e parameter.","description_zh":"","description_zh_html":"","examples":[{"expr":"SELECT json_objectagg(k:v) FROM (VALUES ('a'::text,current_date),('b',current_date + 1)) AS t(k,v)","result":"{ \"a\" : \"2022-05-10\", \"b\" : \"2022-05-11\" }"}],"html":"\u003ccode class=\"function\"\u003ejson_objectagg\u003c/code\u003e ( [ \u003cspan class=\"optional\"\u003e{ \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e { \u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e | ':' } \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e }\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e{ \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eABSENT\u003c/code\u003e } \u003ccode class=\"literal\"\u003eON NULL\u003c/code\u003e\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e{ \u003ccode class=\"literal\"\u003eWITH\u003c/code\u003e | \u003ccode class=\"literal\"\u003eWITHOUT\u003c/code\u003e } \u003ccode class=\"literal\"\u003eUNIQUE\u003c/code\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eKEYS\u003c/code\u003e\u003c/span\u003e ]\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eRETURNING\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edata_type\u003c/code\u003e\u003c/em\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eFORMAT JSON\u003c/code\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eENCODING UTF8\u003c/code\u003e\u003c/span\u003e ]\u003c/span\u003e ]\u003c/span\u003e ])","returns":"","text":"json_objectagg ( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])","zh_from":""}],"zh_from":""},"ManualEvidence":{"doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"func","Key":"json-objectagg","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"json_objectagg","Summary":"行为与json_object相同，只是它作为一个聚合函数，因此只接受一个 key_expression参数和一个 value_expression参数。","BodyHTML":"行为与\u003ccode\u003ejson_object\u003c/code\u003e相同，只是它作为一个聚合函数，因此只接受一个 \u003cem\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e参数和一个 \u003cem\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e参数。\u003cpre\u003ejson_objectagg ( [ { key_expression { VALUE | \u0026#39;:\u0026#39; } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])\u003c/pre\u003e行为与\u003ccode\u003ejson_object\u003c/code\u003e相同，只是它作为一个聚合函数，因此只接受一个 \u003cem\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e参数和一个 \u003cem\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e参数。","SourceRevision":"1b5ca64c","ContentHash":"eb612b21bfc2a80c5412a6f75611444ceadee9bd8761ac12c495e908bd82c821","Payload":{"description_zh":"行为与json_object相同，只是它作为一个聚合函数，因此只接受一个 key_expression参数和一个 value_expression参数。","description_zh_html":"行为与\u003ccode class=\"function\"\u003ejson_object\u003c/code\u003e相同，只是它作为一个聚合函数，因此只接受一个 \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e参数和一个 \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e参数。","signatures":[{"description_zh":"行为与json_object相同，只是它作为一个聚合函数，因此只接受一个 key_expression参数和一个 value_expression参数。","description_zh_html":"行为与\u003ccode class=\"function\"\u003ejson_object\u003c/code\u003e相同，只是它作为一个聚合函数，因此只接受一个 \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e参数和一个 \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e参数。","returns":"","text":"json_objectagg ( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])","zh_from":"doc"}],"zh_from":"doc"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":[{"Version":"18","Ordinal":0,"Hash":"123624df8183c68c6118873a2b5aa2e5932655eb4776e74bc4ac5e52840c58aa","Text":"json_objectagg ( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])","Returns":"","Payload":{"description":"Behaves like json_object, but as an aggregate function, so it only takes one key_expression and one value_expression parameter.","description_html":"Behaves like \u003ccode class=\"function\"\u003ejson_object\u003c/code\u003e, but as an aggregate function, so it only takes one \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e and one \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e parameter.","description_zh":"","description_zh_html":"","examples":[{"expr":"SELECT json_objectagg(k:v) FROM (VALUES ('a'::text,current_date),('b',current_date + 1)) AS t(k,v)","result":"{ \"a\" : \"2022-05-10\", \"b\" : \"2022-05-11\" }"}],"html":"\u003ccode class=\"function\"\u003ejson_objectagg\u003c/code\u003e ( [ \u003cspan class=\"optional\"\u003e{ \u003cem class=\"replaceable\"\u003e\u003ccode\u003ekey_expression\u003c/code\u003e\u003c/em\u003e { \u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e | ':' } \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue_expression\u003c/code\u003e\u003c/em\u003e }\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e{ \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eABSENT\u003c/code\u003e } \u003ccode class=\"literal\"\u003eON NULL\u003c/code\u003e\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e{ \u003ccode class=\"literal\"\u003eWITH\u003c/code\u003e | \u003ccode class=\"literal\"\u003eWITHOUT\u003c/code\u003e } \u003ccode class=\"literal\"\u003eUNIQUE\u003c/code\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eKEYS\u003c/code\u003e\u003c/span\u003e ]\u003c/span\u003e ] [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eRETURNING\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edata_type\u003c/code\u003e\u003c/em\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eFORMAT JSON\u003c/code\u003e [ \u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eENCODING UTF8\u003c/code\u003e\u003c/span\u003e ]\u003c/span\u003e ]\u003c/span\u003e ])","returns":"","text":"json_objectagg ( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])","zh_from":""}}],"Spellings":null,"SQLState":null,"Evidence":null}
