我是Presto的新手,无法完全了解如何检查 map 中是否存在 key 。当我运行SELECT查询时,将返回以下错误消息:
Key not present in map: element

SELECT value_map['element'] FROM
mytable
WHERE name = 'foobar'

添加AND contains(value_map, 'element')不起作用

数据类型是一个字符串数组
SELECT typeof('value_map') FROM mytable

返回varchar(9)
我如何只选择value_map中存在“element”的记录?

最佳答案

如果键与 map 一起出现,则可以在element_at中查找值,如下所示:

SELECT element_at(value_map, 'element')
FROM ...
WHERE element_at(value_map, 'element') IS NOT NULL

07-24 09:39
查看更多