如何在 presto sql 中取消嵌套 varchar 数组
How to unnest an array of varchar in presto sql
我有一个包含 varchar 值的列 description
,我想取消嵌套以将 stallid 和 itemid 作为单独的列检索。
[{"stallid":6771032,"itemid":12232},{"stallid":6771033,"itemid":12233}]
我尝试了以下语法,但它不起作用。
select JSON_EXTRACT_SCALAR(description) from tableA
有人知道怎么做吗?
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
我有一个包含 varchar 值的列 description
,我想取消嵌套以将 stallid 和 itemid 作为单独的列检索。
[{"stallid":6771032,"itemid":12232},{"stallid":6771033,"itemid":12233}]
我尝试了以下语法,但它不起作用。
select JSON_EXTRACT_SCALAR(description) from tableA
有人知道怎么做吗?
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