PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL एक्सेंट + केस असंवेदनशील खोज

यदि आपको "केस असंवेदनशील के साथ संयोजन" करने की आवश्यकता है, तो आपकी सटीक आवश्यकताओं के आधार पर कई विकल्प हैं।

शायद सरलतम, एक्सप्रेशन इंडेक्स केस को असंवेदनशील बनाएं।

फ़ंक्शन पर निर्माण 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 . का उपयोग कर सकते हैं :

  • आस्थगित, केस-संवेदी अद्वितीय बाधा


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बड़ी मात्रा में डेटा के लिए PostgreSQL को स्केल करना

  2. Heroku psql:FATAL:शेष कनेक्शन स्लॉट गैर-प्रतिकृति सुपरयूज़र कनेक्शन के लिए आरक्षित हैं

  3. PostgreSQL 9.0 बैकअप और रिकवरी

  4. pgBouncer के साथ PostgreSQL उच्च उपलब्धता कैसे प्राप्त करें

  5. कैसे मंजिल () PostgreSQL में काम करता है