【问题标题】:How to unnest an array of varchar in presto sql如何在 presto sql 中取消嵌套 varchar 数组
【发布时间】:2021-03-07 05:08:35
【问题描述】:

我有一列 description 包含我想取消嵌套的 varchar 值,以便将stallid 和 itemid 作为单独的列检索。

[{"stallid":6771032,"itemid":12232},{"stallid":6771033,"itemid":12233}]

我尝试了以下语法,但它不起作用。

select JSON_EXTRACT_SCALAR(description) from tableA 

有人知道怎么做吗?

【问题讨论】:

    标签: presto


    【解决方案1】:
    select item['stallid'] as stallid, item['itemid'] as itemid
    from 
    (select cast(json_parse('[{"stallid":6771032,"itemid":12232},{"stallid":6771033,"itemid":12233}]') as array<MAP<VARCHAR, VARCHAR>>) as items) CROSS JOIN UNNEST(items) AS items(item);
    
     stallid | itemid 
    ---------+--------
     6771032 | 12232  
     6771033 | 12233 
    

    https://trino.io/docs/current/functions/json.html#json_parse

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 2019-03-07
      • 2021-06-01
      • 2020-04-18
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 2021-09-10
      • 2019-10-03
      相关资源
      最近更新 更多