簡體   English   中英

SQL查詢以匹配字符串中的至少n個字符,即使中間缺少某些字符

[英]SQL query to match atleast n characters in a string even if some characters are missed in the middle

使用SQL匹配查詢字符串中的字符

MySQL SELECT查詢字符串匹配這些不符合我的要求。

嗨,我在MySQL中使用PHP。 我的網站上有“職位搜索”功能,可以在這里按城市搜索職位。 例如,如果我們在海得拉巴市發布工作,並且如果用戶使用相同的單詞“海得拉巴”搜索工作,那么他會得到結果。 但是,如果他通過鍵入Hydrabad(缺少“ e”)進行搜索,那么他將無法獲得結果,並且同樣會遇到“ Delhi”,“ New Delhi”,“ NewDelhi”的問題。 如果我使用通配符運算符,

"SELECT * FROM jobs_tbl WHERE job_city LIKE '%".$search_city."%' "
"SELECT * FROM jobs_tbl WHERE job_city LIKE '%%".$search_city."%%' "

他們不會為我工作,因為盡管字符串中缺少一些字母和空格,但我仍應獲得結果。 因此,如果至少4或5個字符與搜索字符串匹配,您能否告訴我是否有可能獲取一行? 我搜索了這樣的運算符,但找不到任何運算符。 還是有其他替代方法?

您可以在每個字符之間插入%

$like_city = preg_replace('//', '%', $search_city); // Hyderbad => %H%y%d%e%r%b%a%d%
$sql = "SELECT * FROM jobs_tbl WHERE job_city LIKE '$like_city' "

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM