Soalan:
Fungsi find_in_set MySQL boleh mencari rentetan tunggal dalam koleksi nilai dipisahkan koma (CSV). Tetapi bagaimana anda memanfaatkan keupayaannya untuk mencari berbilang rentetan pada masa yang sama?
Jawapan:
Walaupun MySQL tidak mempunyai fungsi asli untuk menyokong carian berbilang rentetan, anda boleh menggunakan teknik berikut:
<code class="language-sql">WHERE CONCAT(",", `setcolumn`, ",") REGEXP ",(val1|val2|val3),"</code>
Kaedah ini menggabungkan koleksi CSV sasaran dengan koma, termasuk koma di hadapan dan di belakang. Kemudian, semak sama ada rentetan yang terhasil sepadan dengan mana-mana corak rentetan carian yang diingini yang dipisahkan oleh simbol paip (|). Contohnya:
<code class="language-sql">WHERE CONCAT(",", `tags`, ",") REGEXP ",(red|green|blue),"</code>
Pertanyaan ini akan mengembalikan baris tersebut di mana lajur tags
mengandungi mana-mana nilai "merah", "hijau" atau "biru".
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Carian Berbilang Rentetan Menggunakan find_in_set MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!