對多個值使用MySQL Like 運算子
問題:
問題: 查詢: 預期行為: 查詢應傳回「感興趣」的行字段包含“sports”或“pub”或 解釋: 出現此問題的原因是具有多個模式的LIKE 運算子需要 OR 條件。提供的查詢嘗試使用兩個連續的 LIKE 運算符,而沒有正確的 OR 邏輯,從而導致不正確的匹配。 解決方案1:OR 條件 更簡單的解決方案是使用OR 運算子指定多個符合條件: 解決方案2:REGEXP運算子 另一種方法是使用REGEXP(正規表示式)運算符,它支援使用單一表達式進行模式比對: 此表達式式使用| (管道) 字元指定兩個關鍵字之間的邏輯OR,從而產生與「sports」或「pub」或兩者相符的單一模式。 請注意,REGEXP 運算子對於符合多個模式更有效與使用 LIKE 和 OR 條件相比。 SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
SELECT * FROM table WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
SELECT * FROM table WHERE interests REGEXP 'sports|pub'
以上是如何有效地使用 MySQL LIKE 運算子來處理多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!