Menguasai Carian Tidak Peka Huruf dengan Pengendali LIKE MySQL
PengendaliMySQL LIKE
amat berharga untuk padanan corak dalam lajur pangkalan data. Walau bagaimanapun, sifat lalainya yang sensitif huruf besar boleh menjadi masalah. Panduan ini menunjukkan cara melakukan carian tidak peka huruf besar-kecil yang cekap.
Pertimbangkan jadual bernama trees
dengan lajur title
yang menyimpan nama pokok. Untuk mencari semua pokok yang mengandungi "elm", pendekatan naif seperti ini gagal menangkap semua variasi:
<code class="language-sql">SELECT * FROM trees WHERE trees.title LIKE '%elm%';</code>
Pertanyaan ini sensitif huruf besar-besaran, tiada entri dengan huruf besar yang berbeza (cth., "Elm", "ELM"). Penyelesaiannya terletak pada penggunaan fungsi LOWER()
atau UPPER()
.
Fungsi LOWER()
menukar nilai lajur kepada huruf kecil sebelum perbandingan, membolehkan padanan tidak sensitif huruf besar/kecil:
<code class="language-sql">SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%';</code>
Pertanyaan yang disemak ini berjaya mendapatkan semula rekod yang mengandungi "elm", "ELM" atau sebarang variasi kes lain. Setara, UPPER()
menukar kepada huruf besar untuk kesan yang sama. Pilih fungsi yang paling sesuai dengan keperluan data dan pertanyaan anda.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Carian SEPERTI Tidak Peka dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!