Apabila data perlu sepadan dengan mana-mana satu daripada berbilang corak LIKE, persoalan timbul: Adakah MySQL menyediakan alternatif untuk menggunakan semula syarat ATAU?
Secara tradisinya, pertanyaan kelihatan seperti:
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
Matlamatnya adalah untuk mencari kaedah yang lebih bersih dan cekap, serupa dengan hipotesis LIKE IN(). Walaupun tiada binaan LIKE IN() langsung, terdapat pilihan lain.
Salah satu cara untuk menggantikan berbilang keadaan ATAU adalah dengan menggunakan ungkapan biasa (regexp):
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.field REGEXP '1740|1938|1940';</code>
Ungkapan biasa dalam pertanyaan ini sepadan dengan mana-mana nilai dalam lajur medan yang mengandungi corak '1740', '1938' atau '1940'. Pendekatan ini menggabungkan semua corak ke dalam satu pernyataan, memudahkan pertanyaan dan berpotensi meningkatkan prestasi, walaupun ini mungkin bergantung pada keadaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Berbilang Corak LIKE dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!