Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Operator LIKE MySQL untuk Berbilang Nilai dengan Cekap?

Bagaimana Menggunakan Operator LIKE MySQL untuk Berbilang Nilai dengan Cekap?

Linda Hamilton
Linda Hamiltonasal
2025-01-05 21:47:40124semak imbas

How to Efficiently Use MySQL's LIKE Operator for Multiple Values?

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:

  • [MySQL REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [Forum MySQL: SUKA berbilang nilai](http://forums.mysql.com/read.php? 10,392332,392950#msg-392950)

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!

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