Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Operator MySQL LIKE untuk Pelbagai Nilai dengan Berkesan?

Bagaimana Menggunakan Operator MySQL LIKE untuk Pelbagai Nilai dengan Berkesan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-06 00:18:38404semak imbas

How to Use MySQL LIKE Operator for Multiple Values Effectively?

Menggunakan MySQL Like Operator untuk Pelbagai Nilai

Isu:

Pertanyaan MySQL yang cuba gunakan operator LIKE untuk nilai padanan yang mengandungi sama ada "sukan" atau "pub" tidak menghasilkan yang diingini hasil.

Pertanyaan:

SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')

Gelagat Yang Dijangka:

Pertanyaan harus mengembalikan baris yang mengandungi "minat" medan mengandungi sama ada "sukan" atau "pub" atau kedua-duanya.

Penjelasan:

Isu timbul kerana pengendali LIKE dengan berbilang corak memerlukan syarat ATAU. Pertanyaan yang diberikan cuba menggunakan dua operator LIKE berturut-turut tanpa logik ATAU yang betul, yang membawa kepada pemadanan yang salah.

Penyelesaian 1: ATAU Syarat

Penyelesaian yang lebih mudah ialah menggunakan operator ATAU untuk menentukan padanan berbilang kriteria:

SELECT * FROM table WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'

Penyelesaian 2: Operator REGEXP

Pendekatan alternatif ialah menggunakan operator REGEXP (ungkapan biasa), yang menyokong padanan corak menggunakan satu ungkapan :

SELECT * FROM table WHERE interests REGEXP 'sports|pub'

Ungkapan ini menggunakan | aksara (paip) untuk menentukan ATAU logik antara dua kata kunci, menghasilkan satu corak yang sepadan sama ada "sukan" atau "pub" atau kedua-duanya.

Perhatikan bahawa pengendali REGEXP adalah lebih cekap untuk memadankan berbilang corak berbanding menggunakan LIKE dengan syarat ATAU.

Atas ialah kandungan terperinci Bagaimana Menggunakan Operator MySQL LIKE untuk Pelbagai Nilai dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn