MySQL LIKE 查詢多個值
本文解決了在MySQL 查詢中使用LIKE 運算子搜尋多個值時遇到的常見常見問題。目標是尋找特定欄位至少包含一個指定值的行。
查詢和範例資料
考慮以下 MySQL 查詢:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
「興趣」包含以下範例資料欄位:
sports,shopping,pool,pc,games shopping,pool,pc,games sports,pub,swimming, pool, pc, games
問題描述
上述查詢無法如預期運作。它無法傳回任何包含“sports”或“pub”的行。
解決方案:使用布林運算符
一個簡單的解決方案是使用布林運算符,例如OR指定多個值的條件:
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
更有效的解決方案:使用REGEXP
MySQL 提供了更有效的方法來使用REGEXP 運算符搜尋多個值:
WHERE interests REGEXP 'sports|pub'
此解決方案使用REGEXP運算子來指定符合行的正規表示式,其中「興趣」欄位包含「體育」或"pub."
資源
有關MySQL 中REGEXP 的更多信息,請參閱以下資源:
以上是如何有效率地使用 MySQL 的 LIKE 運算子來處理多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!