Как раскрутить массив varchar в presto sql - PullRequest
0 голосов
/ 16 марта 2020

У меня есть столбец description со значениями varchar, которые я хочу развернуть, чтобы получить stallid и itemid в виде отдельных столбцов.

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

enter image description here

Я попробовал следующий синтаксис, но он не работает.

select JSON_EXTRACT_SCALAR(description) from tableA 

Кто-нибудь знает как?

1 Ответ

1 голос
/ 16 марта 2020
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://prestosql.io/docs/current/functions/json.html#json_parse

...