[英]MySQL match all occurrences of a string
我在MySQL查詢中遇到匹配字符串的問題,我正在使用Laravel。 我的問題在於這條線
-> where ('service', 'like', '%'. $request->get('service') . '%')
我要求的服務是hair cut women
而我在數據庫中的service
是Hair Women Style & Cut
。 由於某些原因,這兩個字符串不匹配。
所以,
play game
與play good two & game
play game
不匹配
以上查詢是否可以與此匹配一起使用? 是特殊角色&
阻礙比賽嗎? 我對MySQL沒有經驗,所以我正在尋求幫助。
%string%
匹配前后帶有0個或多個字符的string
。
%hair cut%
將匹配cool hair cut
但不hair for cut
因為其中混入了一個不匹配的詞
如果要匹配單詞,則必須拆分搜索詞並創建多個where子句。
$terms = explode(" ", $request->get('service'));
for ($terms as $term)
$query->where('service', 'like', '%'. $term . '%')
結果查詢將類似於
WHERE service LIKE '%hair%' AND service LIKE '%cut%'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.