Carian Kad Liar LIKE yang Tidak Peka Huruf dalam MySQL
Masalah:
Melakukan carian kad bebas LIKE pada lajur boleh menjadi sensitif huruf besar-besaran, yang boleh menyebabkan hasil terlepas jika rentetan sasaran mengandungi aksara dengan selongsong yang berbeza. Bagaimanakah kita boleh menjalankan carian kad bebas LIKE yang tidak peka huruf besar-besaran?
Penyelesaian:
MySQL menyediakan fungsi LOWER(), yang menukar rentetan kepada huruf kecil. Dengan menggunakan fungsi ini pada kedua-dua lajur dan corak carian, kami boleh memastikan bahawa perbandingan tidak sensitif huruf besar dan kecil.
Pertanyaan berikut menunjukkan cara melakukan carian kad liar LIKE tidak sensitif huruf besar pada lajur 'tajuk' daripada jadual 'pokok':
SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%'
Dalam pertanyaan ini, fungsi LOWER() digunakan pada lajur 'trees.title', menukar lajur dengan berkesan nilai kepada huruf kecil sebelum melakukan perbandingan. Corak kad liar '%elm%' sepadan dengan mana-mana tajuk yang mengandungi subrentetan 'elm' dalam apa jua keadaan.
Pendekatan ini memastikan hasil carian termasuk baris dengan tajuk yang mengandungi 'Elm', 'elm', 'ELM' , dan sebarang variasi sarung yang lain.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Carian Kad Liar SEPERTI Tidak Peka Huruf dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!