我是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