我將創建一個搜索字段,其中用戶輸入他/她正在查找的項目。Mysql部分匹配搜索算法
在這個例子中可以說helm
。
該數據庫包含項目,如:
id | name |
1 | helm of c
2 | helm of 9
3 | helm
4 | helmset
5 | helmapo
6 | haloween
我怎樣才能使在這種情況下返回的行1-5的MySQL查詢,導致其所有的比賽?
我將創建一個搜索字段,其中用戶輸入他/她正在查找的項目。Mysql部分匹配搜索算法
在這個例子中可以說helm
。
該數據庫包含項目,如:
id | name |
1 | helm of c
2 | helm of 9
3 | helm
4 | helmset
5 | helmapo
6 | haloween
我怎樣才能使在這種情況下返回的行1-5的MySQL查詢,導致其所有的比賽?
你可以嘗試讓通配符搜索是這樣的:
select * from tablename where name like 'helm%'
此外,如果你的字helm
可以在列值或任何地方的中間出現,然後把它像
select * from tablename where name like '%helm%'
您可以使用通配符
SELECT * FROM table WHERE name LIKE '%helm%'
可以使用SQL通配符來處理這個用例
SELECT row FROM tablename WHERE field LIKE '%helm%'
如果封裝用%的搜索詞兩邊的SQL將返回包含在任何索引位置搜索詞的任何行,但是如果您只需要以helm開頭的返回行,那麼您將使用術語
'helm%'
@rahultripathu因爲用戶沒有指定用戶只會查找以helm開頭的單詞/字符串。 %helm%允許helm位於字符串中的任何位置 – SGR
然後您可以明確地添加它。它會讓你的答案更清晰:) –