Мне нужно найти конкретное слово из двух столбцов, но в одном столбце я должен искать символ до *. поэтому я использовал SELECT * FROM table_name WHERE status = 'Enable' AND topic LIKE '%car%' OR category LIKE '%car%'
, теперь проблема заключается в том, что она возвращает колонку красоты также потому, что в колонке категории есть слово автомобиль e, теперь я должен сделать это, если слово содержит перед первым *, которое оно должно вернуть.MySql WHERE LIKE перед особым символом?
+--------+---------------------------------------------------------------------------+---------+
| topic | category | status |
+--------+---------------------------------------------------------------------------+---------+
| car | cars & vechicles*cars* | Enabled |
+--------+---------------------------------------------------------------------------+---------+
| beauty | Fashion, Health & Beauty*Health and Beauty Products*Body Care/Skin Care | Enabled |
+--------+---------------------------------------------------------------------------+---------+
Походит «перед frist * "- это решение, очень специфичное для данных, которые у вас есть сейчас. Что делать, если у вас есть «Уход и красота» как категория в будущем? Или «Оскар-победитель фильмов»? Вы не предпочитаете искать автомобиль или автомобили в целом? – Galz
Кроме того, прочтите следующее: http://dev.mysql.com/doc/refman/5.7/en/regexp.html – Galz
если у него есть «Уход и красота» перед первым * без проблем .. он может вернуть результаты – user466061