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

如何在HANA中通过查询将含“A,B”的单行拆分为两行(保留其他字段)

在HANA中拆分字符串列并保留其他字段的查询方案

假设你的表结构类似示例场景:

  • 表名:demo_table
  • 字段:id(唯一标识)、target_col(需要拆分的列,值如"A, B")、other_col(其他需要保留的字段)

直接用以下查询即可实现需求,无需自定义函数,仅依赖HANA内置能力:

SELECT
    t.id,
    TRIM(s.split_value) AS target_col,
    t.other_col
FROM
    demo_table t
CROSS JOIN UNNEST(STRING_SPLIT(t.target_col, ', ')) AS s(split_value)
WHERE
    t.target_col IS NOT NULL AND t.target_col != '';

关键逻辑说明:

  • STRING_SPLIT(t.target_col, ', '):将目标列的字符串按, (逗号加空格)分割为字符串数组;如果你的分隔符是单纯逗号(如"A,B"),把参数改成','即可
  • UNNEST(...):把分割得到的数组展开成独立的行记录
  • CROSS JOIN:将原表的每一行与拆分后的多行做关联,自动保留原表所有其他字段
  • TRIM(...):清理拆分后值前后的多余空格,避免出现" A"这类带空格的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 04:42:02