Dalam PostgreSQL, kadangkala anda mungkin perlu melakukan perbandingan rentetan tidak sensitif huruf besar-besaran untuk pemadanan data yang lebih fleksibel.
Satu cara untuk mencapai ini adalah dengan menggunakan pengendali ilike, yang serupa dengan suka, tetapi mengabaikan perbezaan kes. Contohnya:
SELECT * WHERE email ilike '[email protected]'
Perhatikan bahawa ilike menggunakan aksara sengkang ke belakang untuk melepaskan aksara khas. Untuk menggunakan aksara lain seperti [ atau ], anda boleh menggunakan fungsi replace() untuk melepaskannya.
Contohnya:
WHERE email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'
Sebagai alternatif, anda boleh mencipta fungsi untuk melarikan teks sebelum melakukan perbandingan serupa.
Untuk membandingkan dengan susunan nilai tidak peka huruf besar-besaran, anda boleh menggunakan any():
WHERE email ilike any(array['[email protected]', '[email protected]'])
Dengan kaedah ini, anda boleh melakukan perbandingan rentetan tidak sensitif huruf besar-besaran dalam PostgreSQL, memberikan fleksibiliti tambahan dalam pertanyaan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Kes-Insensitif dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!