Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Operator LIKE MySQL untuk Berbilang Nilai dengan Cekap?
MySQL LIKE Query for Multiple Value
Artikel ini menangani isu biasa yang dihadapi apabila menggunakan operator LIKE dalam pertanyaan MySQL untuk mencari berbilang nilai . Matlamatnya adalah untuk mencari baris yang mana medan tertentu mengandungi sekurang-kurangnya satu daripada nilai yang ditentukan.
Data Pertanyaan dan Sampel
Pertimbangkan pertanyaan MySQL berikut:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
Dengan data sampel berikut dalam "kepentingan" medan:
sports,shopping,pool,pc,games shopping,pool,pc,games sports,pub,swimming, pool, pc, games
Penerangan Isu
Pertanyaan di atas tidak berfungsi seperti yang diharapkan. Ia gagal mengembalikan sebarang baris yang mengandungi sama ada "sukan" atau "pub."
Penyelesaian: Menggunakan Operator Boolean
Penyelesaian mudah ialah menggunakan operator Boolean seperti ATAU untuk menentukan syarat untuk berbilang nilai:
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
Penyelesaian yang Lebih Cekap: Menggunakan REGEXP
MySQL menyediakan cara yang lebih cekap untuk mencari berbilang nilai menggunakan operator REGEXP:
WHERE interests REGEXP 'sports|pub'
Penyelesaian ini menggunakan operator REGEXP untuk menentukan ungkapan biasa yang sepadan dengan baris di mana medan "minat" mengandungi sama ada "sukan" atau "pub."
Sumber
Untuk mendapatkan maklumat lanjut tentang REGEXP dalam MySQL, rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimana Menggunakan Operator LIKE MySQL untuk Berbilang Nilai dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!