Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Perbandingan Rentetan Case-Insensitive dalam PostgreSQL?

Bagaimana untuk Melakukan Perbandingan Rentetan Case-Insensitive dalam PostgreSQL?

Barbara Streisand
Lepaskan: 2024-12-26 17:27:10
asal
782 orang telah melayarinya

How to Perform Case-Insensitive String Comparisons in 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]'
Salin selepas log masuk

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 '~'
Salin selepas log masuk

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]'])
Salin selepas log masuk

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!

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