#sql #arrays #split #presto #amazon-athena
#sql #массивы #разделить #presto #amazon-athena
Вопрос:
Можно ли использовать строку, разделенную запятыми, для IN
запроса?
Я хотел бы выполнить следующий запрос, используя строку a,b,c
select * from tablename where colname in ('a', 'b', 'c')
Пример — select * from tablename where colname in (split_string('a,b,c'))
Ответ №1:
Вы можете использовать split(string,delimiter)
для разделения строки и логическую функцию contains(array, element)
, чтобы проверить, содержит ли массив значение:
select * from tablename where contains(split('a,b,c',','),colname)