簡體   English   中英

MySQL匹配所有出現的字符串

[英]MySQL match all occurrences of a string

我在MySQL查詢中遇到匹配字符串的問題,我正在使用Laravel。 我的問題在於這條線

-> where ('service', 'like', '%'. $request->get('service') . '%')

我要求的服務是hair cut women而我在數據庫中的serviceHair Women Style & Cut 由於某些原因,這兩個字符串不匹配。

所以,

play gameplay 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.

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