You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL:去除表中数组元素括号,优化排序后字段格式

解决方案

你需要在unnest提取数组元素后,对每个元素去除前后的括号,再进行排序和聚合操作。修改后的代码如下:

FOR _reference, _val IN select reference, categories from responses
LOOP
  _array = (
    select array_agg(p.trimmed_val order by p.trimmed_val) 
    from (
      select trim(unnest(_val::text[]), '()') as trimmed_val
    ) as p
  );
  update responses SET categories = _array where reference = _reference;
END LOOP;

关键修改点

  • 使用trim(unnest(_val::text[]), '()'):在提取数组每个元素时,直接用trim函数移除元素前后的(和)
  • 后续排序和聚合基于处理后的trimmed_val,确保结果是排序且无内部括号的数组

执行这段代码后,categories列的输出格式就会从{(DSM),(Post)}变为{DSM,Post}。

内容的提问来源于stack exchange,提问作者Kamyab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:20:28