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

SQL按指定顺序拼接字符串的更优实现方案咨询

优化实现方案

原有实现依赖自定义UDF,且存在多次字符串拆分、拼接的冗余操作,可直接用内置数组函数简化逻辑,执行效率和可读性都更好,和你期望输出完全匹配的优化代码如下:

WITH TBL_D_CUSTOMER AS
(
 SELECT "1" AS NUMBER,"T01" AS DEAL_NUMBER,"TOM" AS NAME1, "JERRY" AS NAME2 UNION ALL 
 SELECT "2","T02","LEBRON","STEVEN"
)
SELECT 
  *,
  ARRAY_TO_STRING(
    ARRAY_CONCAT(
      ARRAY_REVERSE(ARRAY_AGG(NAME1) OVER()),
      ARRAY_REVERSE(ARRAY_AGG(NAME2) OVER())
    ), ' '
  ) AS NAME_COM
FROM TBL_D_CUSTOMER

优化说明

  1. 完全移除自定义临时函数,无需额外维护UDF逻辑,代码更简洁
  2. 省去了原有方案中「字段聚合为字符串→拆分字符串为数组→反转数组→拼接回字符串」的冗余步骤,直接对聚合后的数组操作,性能更高
  3. 如果你需要按交易号分组拼接姓名,仅需要在窗口函数中加回PARTITION BY DEAL_NUMBER即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:00