Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melakukan Perbandingan Rentetan Case-Insensitive dalam PostgreSQL?
Perbandingan Rentetan Tidak Peka Huruf dalam PostgreSQL
Dalam PostgreSQL, melakukan perbandingan rentetan tidak sensitif huruf besar boleh menjadi penting untuk banyak senario. Walaupun pengendali like dan ilike tersedia untuk nilai tunggal, ia tidak meluas ke set.
Untuk menangani had ini, PostgreSQL menyediakan pilihan berikut untuk perbandingan rentetan tidak sensitif huruf besar/kecil:
1. Menggunakan Operator ilike:
Operator ilike adalah serupa dengan suka, tetapi ia melakukan perbandingan tidak peka huruf besar-besaran. Ia boleh digunakan seperti berikut:
select * where email ilike '[email protected]'
2. Melarikan Diri Watak Istimewa:
Apabila menggunakan operator ilike dengan aksara khas dalam rentetan anda, adalah penting untuk melepaskannya dengan betul. Anda boleh mencapai ini menggunakan fungsi replace():
where email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'
Sebagai alternatif, anda boleh mencipta fungsi tersuai untuk melepaskan teks.
3. Membandingkan Terhadap Tatasusunan:
Jika anda perlu membandingkan dengan tatasusunan rentetan, anda boleh menggunakan mana-mana operator:
where email ilike any(array['[email protected]', '[email protected]'])
Dengan menggunakan teknik ini, anda boleh melaksanakan kes dengan berkesan -perbandingan rentetan tidak sensitif dalam PostgreSQL untuk kedua-dua nilai tunggal dan set nilai.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Perbandingan Rentetan Case-Insensitive dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!