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

如何在Oracle数据库中存储JSON数组 仅通过IICS转换实现

IICS JSON数组字段完整写入Varchar2字段解决方案

问题根因

Hierarchy Parser默认处理数组类型字段时会将数组元素扁平化展开为多行数据,未做聚合处理的场景下,写入目标表时仅会保留最后一行的数组元素值,因此出现仅存储数组最后一位内容的问题。

实现步骤(仅使用IICS原生转换,无需编码)

方案1(优先使用,流程更简单)

  • 调整Hierarchy Parser配置:打开Hierarchy Parser转换的设置页,找到label数组对应的解析规则,将输出模式设置为保留数组结构,不要开启数组扁平化展开选项。
  • 新增Expression转换:在Hierarchy Parser后接入Expression转换,使用IICS原生数组函数将数组拼接为字符串,示例写法如下:
    如需逗号分隔的纯内容输出:
    out_label = ARRAY_TO_STRING(label, ',')
    
    如需保留原始JSON数组的方括号格式:
    out_label = '[' || ARRAY_TO_STRING(label, ',') || ']'
    
  • 字段映射:将Expression转换输出的out_label字段映射到目标表的varchar2类型label字段即可。

方案2(适配低版本IICS无ARRAY_TO_STRING函数的场景)

  • 调整Hierarchy Parser配置:开启label数组的扁平化展开,配置为每个数组元素输出一行,同时保留每条源数据的唯一主键ID用于后续分组。
  • 新增Aggregator转换:按源数据主键ID分组,调用原生聚合函数拼接所有label元素:
    out_label = STRING_AGG(label, ',')
    
  • 字段映射:将Aggregator输出的out_label字段映射到目标表对应字段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:54:03