[英]SQL query to match atleast n characters in a string even if some characters are missed in the middle
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.