使用 SELECT LIKE 或 REGEXP 在 MySQL 中進行多字匹配
SQL 中的 SELECT 語句允許根據特定條件過濾記錄。處理多單字資料(例如產品名稱或描述)時,尋找與多個單字相符的記錄可能具有挑戰性。
LIKE 與 REGEXP
MySQL提供了兩個可用於通配符匹配的運算符:LIKE 和 REGEXP。 LIKE 使用 % 通配符來匹配零個或多個字符,而 REGEXP 允許更複雜的正規表示式匹配。
使用LIKE 匹配多個單字
在給定的範例中,查詢SELECT name FROM table WHERE name LIKE '%Stylus 2100%' 不會傳回任何結果,因為它與兩個單字都不匹配記錄中。要使用 LIKE 實現多字匹配,可以使用以下方法:
SELECT name FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
此查詢將選擇同時包含「Stylus」和「2100」且任意順序的記錄。
使用 REGEXP 匹配多個單字
REGEXP 提供了一種更強大的方法來匹配多個單字透過使用正規表示式。以下查詢使用正規表示式來匹配包含「Stylus」後面跟著一個或多個字元後跟「2100」的記錄:
SELECT name FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
此查詢將傳回值為「Stylus Photo 2100」的記錄.
以上是如何在MySQL中使用LIKE或REGEXP高效匹配多個單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!