我得到这个错误
ERROR: operator不存在:text ->>未知的
当我运行
SELECT ARRAY_AGG(data->>'promotion_data' || '-' || data->>'id')
FROM data.persons
GROUP BY data->>'store_id'
但这是有效的
SELECT ARRAY_AGG(data->>'promotion_data' || '-')
FROM data.persons
GROUP BY data->>'store_id'
我尝试转换为json,但仍然是相同的错误:
SELECT ARRAY_AGG(data->>'promotion_data' || '-' || data::json->>'id')
FROM data.persons
GROUP BY data->>'store_id'
使用括号:
ARRAY_AGG((data->>'promotion_data') || '-' || (data->>'id'))
||
似乎比->>
具有更高的优先级。
也可以使用concat_ws()
ARRAY_AGG(concat_ws(',', data->>'promotion_data', data->>'id'))