MySQL 的 LIKE 和多個通配符模式
問題:
MySQL 能否有效處理包含多種通配符模式的 LIKE
搜尋? 例如,同時搜尋包含「40%」、「38%」和「40%」的字串。
解:
MySQL 不提供直接的 LIKE IN()
函數。 然而,一種高效的解決方法是使用正規表示式 (REGEXP)。 這可以在單一查詢中匹配多個模式:
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
此查詢掃描 fiberbox
表的 field
列,尋找包含任何指定模式的行。 |
(管道)符號充當「或」運算符,匹配至少存在一個模式的任何行。
效能注意事項:
REGEXP
與多個 LIKE
語句(例如 WHERE field LIKE '40%' OR field LIKE '38%' OR field LIKE '40%'
)的相對效能在很大程度上取決於特定的資料和查詢。 對這兩種方法進行基準測試以確定適合您的特定資料集和查詢需求的最有效方法至關重要。
以上是MySQL 可以使用多個通配符模式執行 LIKE 搜尋嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!