首頁 >資料庫 >mysql教程 >如何使用 LIKE 或 REGEXP 高效匹配 MySQL 記錄中的多個單字?

如何使用 LIKE 或 REGEXP 高效匹配 MySQL 記錄中的多個單字?

Patricia Arquette
Patricia Arquette原創
2024-11-26 02:15:10890瀏覽

How to Efficiently Match Multiple Words in MySQL Records Using LIKE or REGEXP?

使用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中文網其他相關文章!

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