Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadankan Berbilang Perkataan dengan Cekap dalam Rekod MySQL Menggunakan LIKE atau REGEXP?

Bagaimana untuk Memadankan Berbilang Perkataan dengan Cekap dalam Rekod MySQL Menggunakan LIKE atau REGEXP?

Patricia Arquette
Patricia Arquetteasal
2024-11-26 02:15:10899semak imbas

How to Efficiently Match Multiple Words in MySQL Records Using LIKE or REGEXP?

Memadankan Berbilang Perkataan dalam Rekod MySQL Menggunakan LIKE atau REGEXP

Apabila menggunakan pengendali LIKE untuk mencari rekod yang mengandungi perkataan tertentu, anda mungkin menghadapi kesukaran jika perkataan muncul pada kedudukan yang berbeza di lapangan. Untuk menangani isu ini, pertimbangkan untuk menggunakan operator REGEXP.

Sebagai contoh, katakan anda mempunyai jadual bernama 'jadual' dengan medan dipanggil 'nama' yang mengandungi nilai 'Stylus Photo 2100.' Menggunakan operator LIKE, pertanyaan berikut:

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'

tidak akan mengembalikan hasil. Ini kerana pengendali LIKE mencari padanan tepat rentetan yang ditentukan.

Untuk mencari rekod yang mengandungi perkataan 'Stylus' dan '2100' dalam sebarang susunan, anda boleh menggunakan operator REGEXP, seperti yang dilihat dalam ini pertanyaan:

SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'

Pertanyaan ini akan menggunakan ungkapan biasa untuk mencari rekod di mana medan 'nama' mengandungi perkataan 'Stylus' diikuti dengan sebarang nombor daripada aksara (ditunjukkan oleh '.'), dan kemudian perkataan '2100.'

Sebagai alternatif, anda boleh menggunakan operator LIKE beberapa kali, seperti yang ditunjukkan dalam pertanyaan ini:

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'

Pertanyaan ini akan mengembalikan rekod di mana medan 'nama' mengandungi perkataan 'Stylus' dan perkataan '2100', tanpa mengira kedudukannya.

Atas ialah kandungan terperinci Bagaimana untuk Memadankan Berbilang Perkataan dengan Cekap dalam Rekod MySQL Menggunakan LIKE atau REGEXP?. 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