Я могу использовать подстановочные знаки в операторе MySQL “IN”?

Если это - оракул тогда, можно сделать:

select decode(field,NULL,'NULL','NOT NULL'), count(*)
from table
group by decode(field,NULL,'NULL','NOT NULL');

я уверен, что другой DBS допускает подобный прием.

13
задан OMG Ponies 30 October 2009 в 21:18
поделиться

3 ответа

Я не уверен, что это лучше, чем то, что вы придумали, но вы можете использовать возможности регулярных выражений MySQL :

select * from my_table where field rlike 'apple|orange';

Кроме того, как уже упоминалось другими, вы можете использовать ] Возможности полнотекстового поиска MySQL (но только если вы используете механизм MyISAM).

14
ответ дан 2 December 2019 в 00:18
поделиться

Вам, вероятно, следует взглянуть на Полнотекстовую индексацию MySQL , если это то, что вы пытаетесь сделать.

1
ответ дан 2 December 2019 в 00:18
поделиться

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

РЕДАКТИРОВАТЬ: Я просмотрел его, и он поддерживает только подстановочные знаки в ] end слов:

ALTER TABLE table ADD FULLTEXT INDEX (field);

SELECT * FROM table WHERE MATCH (field)
AGAINST ('orange* apple*' IN BOOLEAN MODE);
1
ответ дан 2 December 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: