首頁 >資料庫 >mysql教程 >如何有效率地使用 MySQL 的 LIKE 運算子來處理多個值?

如何有效率地使用 MySQL 的 LIKE 運算子來處理多個值?

Linda Hamilton
Linda Hamilton原創
2025-01-05 21:47:40190瀏覽

How to Efficiently Use MySQL's LIKE Operator for Multiple Values?

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 REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [MySQL 論壇:LIKE 多個值](http://forums.mysql.com/read.php ? 10,392332,392950#msg-392950)

以上是如何有效率地使用 MySQL 的 LIKE 運算子來處理多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn