数据库中的特定搜索

时间:2013-03-21 08:05:35

标签: mysql

我正在寻找使用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”字样的行的查询。请记住,不需要“卡”。

3 个答案:

答案 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 ...表达式过于复杂,它们会更快。您可能需要进行一些基准测试,以找出最适合您的情况。