Rumah >pangkalan data >tutorial mysql >Bagaimanakah PostgreSQL Mengendalikan Perbandingan Rentetan Case-Insensitive Dengan Cekap?
Perbandingan Rentetan Tidak Peka Huruf dalam PostgreSQL
PostgreSQL menyediakan kaedah mudah untuk perbandingan rentetan tidak sensitif huruf besar-besaran, menghilangkan keperluan untuk LOWER() yang susah payah atau fungsi UPPER().
Untuk mencapai ini, PostgreSQL menawarkan pengendali ilike, rakan sejawatan yang tidak peka huruf besar kepada pengendali serupa. Ia membolehkan perbandingan antara rentetan, tanpa mengira selongsong hurufnya.
Sebagai contoh, jika anda mempunyai jadual yang dipanggil pengguna dengan e-mel lajur, anda boleh melakukan perbandingan tidak sensitif huruf besar-besaran menggunakan operator ilike:
SELECT id, user_name FROM users WHERE email ilike '[email protected]'
Pertanyaan ini akan mengembalikan semua baris di mana lajur e-mel mengandungi teks yang ditentukan, tanpa mengira huruf selongsong.
Walau bagaimanapun, perlu diperhatikan bahawa jika anda perlu mengendalikan aksara khas dalam teks input, seperti % atau _, anda boleh menggunakan fungsi replace() untuk melepaskannya sebelum membandingkan.
Selain itu, untuk perbandingan yang melibatkan tatasusunan nilai teks, PostgreSQL menyediakan fungsi any(). Ia membolehkan anda menyemak sama ada nilai dalam lajur e-mel sepadan dengan mana-mana nilai dalam tatasusunan yang ditentukan, dalam cara tidak peka huruf besar-kecil:
SELECT id, user_name FROM users WHERE email ilike any(array['[email protected]', '[email protected]'])
Dengan menggunakan pengendali ilike, PostgreSQL memudahkan perbandingan rentetan tidak sensitif huruf besar-besaran, menyediakan penyelesaian yang mudah untuk pertanyaan pangkalan data yang cekap dan serba boleh.
Atas ialah kandungan terperinci Bagaimanakah PostgreSQL Mengendalikan Perbandingan Rentetan Case-Insensitive Dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!