Memadankan Berbilang Perkataan dalam Rekod Menggunakan MySQL SELECT
Dalam senario di mana medan mengandungi berbilang perkataan, menggunakan pertanyaan LIKE untuk mencari perkataan tersebut secara individu mungkin menghasilkan hasil yang tidak konsisten. Ini boleh ditemui apabila mencari gabungan atau pilih atur perkataan tertentu dalam satu rekod.
Untuk mengatasi cabaran ini, MySQL menyediakan pengendali REGEXP, yang membolehkan penciptaan ungkapan biasa untuk pemadanan yang lebih tepat. Pertimbangkan contoh yang diberikan dalam pertanyaan:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
Pertanyaan ini tidak menghasilkan hasil kerana perkataan "Stylus" dan "2100" tidak bersebelahan dalam rekod. Untuk mendapatkan semula rekod yang diingini, pengendali REGEXP boleh digunakan:
SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Pengendali titik (.) sepadan dengan mana-mana aksara dan pengendali tambah ( ) memastikan bahawa "2100" mengikut "Stylus" dalam yang betul pesanan.
Selain itu, gabungan pertanyaan LIKE boleh digunakan untuk mencapai perkara yang sama hasil:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Pendekatan ini memanfaatkan dua pertanyaan LIKE berasingan untuk menyemak kehadiran kedua-dua "Stylus" dan "2100" di mana-mana dalam rekod.
Dengan menggunakan sama ada REGEXP atau gabungan daripada pertanyaan LIKE, anda boleh mencari berbilang perkataan dengan berkesan dalam satu rekod, memastikan hasil carian yang lebih tepat dan berkaitan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Berbilang Perkataan Dengan Cekap dalam Satu Rekod Pangkalan Data dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!