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

Snowflake中拆分VARCHAR类型数组列的方法求助

解决方法

FLATTEN函数仅支持数组类型输入,你的Values列是VARCHAR类型,必须先将字符串格式的数组转换为真正的数组类型,才能进行拆分操作。

方法1:用PARSE_JSON直接解析(推荐,适用于标准JSON格式)

你的[1,2]是合法的JSON数组格式,PARSE_JSON可以直接将其转换为数组类型,再配合FLATTEN拆分:

SELECT temp.NAME,
       t.value
FROM temp,
TABLE(FLATTEN(PARSE_JSON(temp.Values))) AS t;

方法2:手动处理字符串(适用于非标准格式场景)

如果字符串格式不严格符合JSON规范,可以手动去除首尾括号后按逗号拆分:

SELECT temp.NAME,
       TRY_CAST(t.value AS INT) AS value -- 可选:转为数值类型
FROM temp,
TABLE(FLATTEN(SPLIT(TRIM(temp.Values, '[]'), ','))) AS t;
  • TRIM(temp.Values, '[]'):去掉字符串首尾的[和],得到1,2
  • SPLIT(..., ','):按逗号拆分字符串,生成数组['1','2']
  • TRY_CAST:可选,将拆分后的字符串转为数值类型,避免结果是字符串格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:01:55