Mysql部分匹配搜索算法

时间:2016-03-29 09:12:09

标签: mysql

我要创建一个搜索字段,用户可以在其中输入他/她正在寻找的项目。

在这个例子中说helm

数据库包含项目,例如:

id | name | 
1 | helm of c
2 | helm of 9
3 | helm 
4 | helmset
5 | helmapo
6 | haloween

如何在这种情况下使mysql查询返回第1-5行,导致它全部匹配?

3 个答案:

答案 0 :(得分:2)

您可以使用通配符

SELECT * FROM table WHERE name LIKE '%helm%'

有关通配符的更多信息:http://www.w3schools.com/sql/sql_wildcards.asp

答案 1 :(得分:1)

你可以尝试像这样进行通配符搜索:

select * from tablename where name like 'helm%'

此外,如果您的单词helm可以出现在列值或任何地方的中间,那么就像

一样
select * from tablename where name like '%helm%'

答案 2 :(得分:1)

您可以使用sql通配符来处理此用例

SELECT row FROM tablename WHERE field LIKE '%helm%'

如果在两侧封装带%的搜索词,SQL将在任何索引位置返回包含搜索词的任何行,但是如果您只想要以helm开头的返回行,那么您将使用术语

'helm%'