我正在寻找使用innodb引擎在mysql中搜索特定单词的方法。请考虑以下示例:
Text:
1.Card has two sides.
2.This is my card.
3.We have a car.
4.Car has good color.
5.This was my car.
6.The car is nice.
假设这些点是不同的行并位于同一列“Text”下。无论单词“car”是在开头,中间还是结尾,我都需要一个使用“like”来提取带有“car”字样的行的查询。请记住,不需要“卡”。
答案 0 :(得分:2)
使用它
SELECT * FROM table WHERE name LIKE '%car' or name LIKE '%car %';
答案 1 :(得分:1)
这里是..
SELECT * FROM table WHERE name LIKE '% car' or name LIKE 'car %' or name LIKE '% car %' or name like '% car.';
它将选择起始单词和单词
答案 2 :(得分:0)
如果您想要包含“car”并排除“card”,则可以搜索
SELECT Text FROM Table WHERE Text LIKE '% Car.%' or Text LIKE '% Car %';
这将要求始终存在“。”到底。 您可以添加另一个
or Text LIKE '% Car';
如果您对此不确定。
如果这变得更复杂,你可能想要查看正则表达式。虽然通常较慢,但如果您的LIKE ... OR ...表达式过于复杂,它们会更快。您可能需要进行一些基准测试,以找出最适合您的情况。