Bagaimanakah saya boleh mencapai carian tidak peka huruf besar-kecil dengan pengendali LIKE dalam MySQL?

Barbara Streisand
Lepaskan: 2024-11-09 03:48:02
asal
240 orang telah melayarinya

How can I achieve case-insensitive search with LIKE operator in MySQL?

Queries MySQL: Case Sensitivity Conundrum

Apabila bekerja dengan pertanyaan MySQL, adalah penting untuk mempertimbangkan kepekaan huruf besar untuk memastikan hasil carian yang tepat. Walau bagaimanapun, isu biasa timbul apabila menggunakan operator LIKE dengan pengekodan utf8_general_ci, yang membawa kepada gelagat carian sensitif huruf besar-besaran.

Untuk menangani perkara ini, terdapat beberapa penyelesaian yang boleh mengekalkan ketidakpekaan huruf besar-kecil:

1. Perbandingan Rentetan Perduaan:

SELECT .... FROM .... WHERE `concatenated` LIKE BINARY '%SearchTerm%';
Salin selepas log masuk

Dengan menggunakan BINARI, perbandingan rentetan menjadi tidak sensitif huruf besar, kerana rentetan binari dianggap sebagai jujukan bait tanpa mengambil kira huruf besar.

2. Klausa COLLATE dengan utf8_bin:

SELECT ....
FROM ....
WHERE `concatenated` like '%SearchTerm%' COLLATE utf8_bin;
Salin selepas log masuk

Klausa COLLATE menentukan set aksara dan himpunan khusus untuk perbandingan. utf8_bin memastikan perbandingan tidak peka huruf besar-kecil untuk data utf8.

Pertimbangan Prestasi:

Perhatikan bahawa penggunaan BINARI atau COLLATE boleh memberi kesan kepada prestasi pertanyaan. Perbandingan BINARI boleh menjadi lebih cekap, manakala COLLATE boleh memperkenalkan overhed pemprosesan tambahan. Oleh itu, penyelesaian optimum mungkin bergantung pada senario penggunaan tertentu.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencapai carian tidak peka huruf besar-kecil dengan pengendali LIKE dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan