Подтвердить что ты не робот

Могу ли я использовать подстановочные знаки в инструкции "IN" MySQL?

Я хотел бы запустить что-то вроде:

select * from table where field in ("%apple%", "%orange%")

Есть ли способ? Или, по крайней мере, есть лучший способ, чем динамическое построение запроса для каждого ключевого слова:

select * from table where field like "%apple%" or field like "%orange%"

Спасибо.

4b9b3361

Ответ 3

Возможно, лучшим решением было бы использовать логический поиск по полнотекстовому индексу?

EDIT: я просмотрел его, и он поддерживает только подстановочные знаки в конце слов:

ALTER TABLE table ADD FULLTEXT INDEX (field);

SELECT * FROM table WHERE MATCH (field)
AGAINST ('orange* apple*' IN BOOLEAN MODE);

Ответ 4

В Oracle вы можете:

select * from table where
regexp_like (column, 'apple|orange', 'i')

Вы можете использовать более сложное регулярное выражение. "I" делает его нечувствительным. См. Документы Oracle