如何从雪花中的json对象数组中选择数据
Posted
技术标签:
【中文标题】如何从雪花中的json对象数组中选择数据【英文标题】:How to select data from array of json object in snowflake 【发布时间】:2021-05-13 22:19:10 【问题描述】:我拥有的数据:
ID | Value |
---|---|
1 | ["code": "SM", "place": "San Mateo, CA, USA","code": "IND", "place": "Indianapolis, IN, USA"] |
我希望它变成什么:
ID | Value |
---|---|
1 | San Mateo, CA, USA; Indianapolis, IN, USA |
这是我所能得到的(表格只是一个示例)
SELECT
INDEX,
PARSE_JSON(f.THIS),
ARRAY_TO_STRING(PARSE_JSON(f.THIS),';')
FROM TABLE(FLATTEN(input => parse_json('["code": "SM","place": "San Mateo, CA, USA","code": "IND","place": "Indianapolis, IN, USA"]'))) f LIMIT 1;
【问题讨论】:
【参考方案1】:你已经接近了:
SELECT
seq,
listagg(f.value:place, '; ')
FROM TABLE(FLATTEN(input => parse_json('["code": "SM","place": "San Mateo, CA, USA","code": "IND","place": "Indianapolis, IN, USA"]'))) f
group by seq
-- San Mateo, CA, USA; Indianapolis, IN, USA
【讨论】:
以上是关于如何从雪花中的json对象数组中选择数据的主要内容,如果未能解决你的问题,请参考以下文章
在我们将其解析为 JSON 之前,Snowflake 如何转义对象数组字符串中的所有特殊字符?