Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencari Berbilang Rentetan Dengan Cekap Dalam Lajur MySQL?
Gunakan fungsi find_in_set MySQL untuk mencari berbilang rentetan
Fungsi find_in_set() MySQL membolehkan anda mencari rentetan tertentu dalam set rentetan yang disimpan dalam lajur. Walau bagaimanapun, ia hanya boleh mencari menggunakan rentetan carian tunggal.
Cabaran: Cari menggunakan berbilang rentetan
Anda mungkin menghadapi situasi di mana anda perlu mencari berbilang rentetan dalam satu set rentetan. Sebagai contoh, anda mungkin ingin menyemak sama ada pelanggan membeli produk tertentu yang tergolong dalam kategori tertentu. Dalam kes ini, hanya menggunakan find_in_set() tidak mencukupi.
Petua mensimulasikan find_in_set() untuk melaksanakan carian berbilang rentetan
Terdapat penyelesaian untuk mensimulasikan carian berbilang rentetan menggunakan find_in_set():
Perihalan ungkapan biasa:
Contoh:
Pertimbangkan pertanyaan berikut:
<code class="language-sql">SELECT * FROM table WHERE CONCAT(",", `product_set`, ",") REGEXP ",(electronics|clothing|accessories),";</code>
Dalam pertanyaan ini, lajur set_produk mengandungi senarai produk yang dipisahkan koma yang dibeli oleh pelanggan. Ungkapan REGEXP menyemak sama ada koleksi mengandungi mana-mana tiga rentetan carian ini: "elektronik", "pakaian" atau "aksesori".
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Berbilang Rentetan Dengan Cekap Dalam Lajur MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!