PrestoDB: фильтр для получения строк, в которых содержится элемент в ключах столбца карты. - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть столбец типа map (varchar, varchar).Я хотел бы отфильтровать ключи карты, чтобы получить строки таблицы, где карта содержит заданную строку.

Как проверить, содержится ли varchar в ключах столбца типа карты?

1 Ответ

0 голосов
/ 20 ноября 2018

Получить строки с определенной строкой (varchar) / строками в качестве ключей

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

Получить строки, в которых столбец массива содержит определенную строку (varchar)

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

В этом случае

  1. имя таблицы: планета
  2. схема столбца "теги": карта (varchar, varchar)
  3. Строка, которую я искал в тегах столбца: 'барьер'
...