如何将数组字符串列展平为雪花中的行?
Posted
技术标签:
【中文标题】如何将数组字符串列展平为雪花中的行?【英文标题】:How to flatten Array string column to row in snowflake? 【发布时间】:2021-12-18 09:10:09 【问题描述】:我尝试过使用雪花的扁平化,但它不起作用,所以我在问。
示例数据
数组字符串类型 -> varcharid | array string |
---|---|
1 | [10001,100000][10003,100000000][10004,10000][10006,100] |
我想要
id | array string |
---|---|
1 | [10001,100000] |
1 | [10003,100000000] |
1 | ..... |
【问题讨论】:
【参考方案1】:SELECT
id,
'[' || c.value::string AS "array string"
FROM data d,
LATERAL FLATTEN(input=>split(d."array string", '[')) c;
应该可以,因为您正在拆分开放数组令牌,因此需要将其放回输出中。
【讨论】:
非常感谢。尽管仅使用“[”创建了一个单独的行,但如果我只过滤它,它就会完全按照我的意愿出现。 @SuyoungJang 啊,是的,第一个[
成为它自己的结果,我认为如果你换成它,我认为尾随 ]
也会发生这种情况。哎呀,我没有测试 SQL。以上是关于如何将数组字符串列展平为雪花中的行?的主要内容,如果未能解决你的问题,请参考以下文章