Я знаю, что могу написать запрос, который будет возвращать все строки, которые содержат любое количество значений в данном столбце, например:
Select * from tbl where my_col in (val1, val2, val3,... valn)
, но если, например, val1
, может появиться где угоднов my_col
, который имеет тип данных varchar (300), я мог бы вместо этого написать:
select * from tbl where my_col LIKE '%val1%'
Есть ли способ объединения этих двух методов.Мне нужно найти около 30 возможных значений, которые могут появиться в любом месте текста в свободной форме столбца.
Объединение этих двух утверждений следующими способами не работает:
select * from tbl where my_col LIKE ('%val1%', '%val2%', 'val3%',....)
select * from tbl where my_col in ('%val1%', '%val2%', 'val3%',....)