यदि आपको "केस असंवेदनशील के साथ संयोजन" करने की आवश्यकता है, तो आपकी सटीक आवश्यकताओं के आधार पर कई विकल्प हैं।
शायद सरलतम, एक्सप्रेशन इंडेक्स केस को असंवेदनशील बनाएं।
फ़ंक्शन पर निर्माण f_unaccent()
संदर्भित उत्तर में निर्धारित:
- क्या PostgreSQL "एक्सेंट असंवेदनशील" कॉलेशन का समर्थन करता है?
CREATE INDEX users_lower_unaccent_name_idx ON users(lower(f_unaccent(name)));
फिर:
SELECT *
FROM users
WHERE lower(f_unaccent(name)) = lower(f_unaccent('João'));
या आप lower()
बना सकते हैं फ़ंक्शन में f_unaccent()
, कुछ प्राप्त करने के लिए जैसे f_lower_unaccent()
।
या (विशेष रूप से यदि आपको किसी भी तरह से फ़ज़ी पैटर्न मिलान करने की आवश्यकता है) तो आप अतिरिक्त मॉड्यूल pg_trgm द्वारा प्रदान किए गए ट्रिग्राम इंडेक्स का उपयोग कर सकते हैं। उपरोक्त फ़ंक्शन पर निर्माण, जो ILIKE
. का भी समर्थन करता है . विवरण:
- लोअर लाइक बनाम आईलाइक
मैंने संदर्भित उत्तर में एक नोट जोड़ा है।
या आप अतिरिक्त मॉड्यूल citext . का उपयोग कर सकते हैं :
- आस्थगित, केस-संवेदी अद्वितीय बाधा