PrestoDB:过滤以获取包含在地图列的键中元素所在的行

时间:2018-11-20 01:38:19

标签: presto

我有一列类型为map(varchar,varchar)的列。我想在地图的键上进行过滤,以获取其中地图包含给定字符串的表的行。

如何检查地图类型列的键中是否包含varchar?

1 个答案:

答案 0 :(得分:0)

获取具有特定字符串(varchar)/字符串作为键的行

select * from planet
where map_keys(tags) = ARRAY['barrier'];

获取其中数组列包含特定字符串(varchar)的行

select * from planet
where contains(map_keys(tags), 'barrier');

在这种情况下,

  1. 表名:行星
  2. “标签”列的模式:map(varchar,varchar)
  3. 我在列标记“ barrier”中搜索的字符串