ARRAY_AGG给出错误'operator does not exist: text ->> unknown'



我得到这个错误

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'))

最新更新