使用LIKE 或REGEXP 匹配MySQL 記錄中的多個單字
當使用LIKE 運算子搜尋包含特定單字的記錄時,您可能會遇到如果單字出現在欄位中的不同位置,則會出現困難。若要解決此問題,請考慮使用 REGEXP 運算子。
例如,假設您有一個名為「table」的表,其中包含一個名為「name」的字段,其中包含值「Stylus Photo 2100」。使用 LIKE 運算符,以下查詢:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
將不傳回任何結果。這是因為 LIKE 運算子搜尋指定字串的精確匹配。
要尋找以任意順序包含單字'Stylus' 和'2100' 的記錄,您可以使用REGEXP 運算符,如下所示查詢:
SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
此查詢將使用正規表示式來搜尋「名稱」欄位包含單字「Stylus」後面接任意數字的記錄字元(以「.」表示),然後是單字「2100」。
或者,您可以多次使用LIKE 運算符,如以下查詢所示:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
此查詢將傳回“名稱”欄位包含單字“Stylus”和單字“2100”的記錄,無論它們的名稱如何位置。
以上是如何使用 LIKE 或 REGEXP 高效匹配 MySQL 記錄中的多個單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!