首頁 > 資料庫 > mysql教程 > 如何使用 MySQL 的 find_in_set 執行多個字串搜尋?

如何使用 MySQL 的 find_in_set 執行多個字串搜尋?

Susan Sarandon
發布: 2025-01-11 19:51:47
原創
270 人瀏覽過

How Can I Perform Multiple String Searches Using MySQL's find_in_set?

MySQL find_in_set函數的多字串搜尋技巧

問題:

MySQL 的 find_in_set 函數可以搜尋逗號分隔值 (CSV) 集合中的單一字串。但是,如何利用它的功能同時搜尋多個字串呢?

解答:

雖然 MySQL 沒有原生函數支援多字串搜索,但可以使用以下技巧:

<code class="language-sql">WHERE CONCAT(",", `setcolumn`, ",") REGEXP ",(val1|val2|val3),"</code>
登入後複製

此方法將目標 CSV 集合與逗號連接,包括開頭和結尾的逗號。然後,檢查產生的字串是否與用管道符號 (|) 分隔的任何所需搜尋字串相符的模式。例如:

<code class="language-sql">WHERE CONCAT(",", `tags`, ",") REGEXP ",(red|green|blue),"</code>
登入後複製

此查詢將傳回 tags 欄位包含 "red"、"green" 或 "blue" 中任何一個值的那些行。

以上是如何使用 MySQL 的 find_in_set 執行多個字串搜尋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板