从Presto的行数组中提取



我有一个表,其中有一个字典列表。在这个示例中,列表中只有一个字典。

tbody> <<tr>
items
[{a:"苹果",乙:"香蕉"}]

提供的错误表明,您的数据实际上不是一个varchar或json,而是一个具有5个字段(t,i,p,v,s)的ROW数组。行不能很容易地转换为所需的json结构,但你可以很容易地通过名称访问它的字段:

select item.t
from (
SELECT array [ cast (row('apple', 'banana') as row(t varchar, i varchar)) ] items -- shortened sample data
) 
cross join unnest(items) as c(item) -- flatten the array

输出:

<表类>ttbody><<tr>苹果

最新更新