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

SQL में एक स्ट्रिंग से फ़ज़ी मिलान

पोस्टग्रेज में आप fuzzystrmatch . का उपयोग कर सकते हैं पैकेट। यह एक levenshtein . साबित करता है फ़ंक्शन, जो दो पाठों के बीच की दूरी लौटाता है, फिर आप निम्न अनुकरणीय विधेय के साथ फ़ज़ी मिलान कर सकते हैं:

where levenshtein(street_address, '123 Main Avex') <= 1

यह सभी रिकॉर्ड से मेल खाएगा, क्योंकि '123 मेन एवेन्यू' और '123 मेन एवेक्स' के बीच की दूरी 1 (1 इंसर्शन) है।

बेशक, मान 1 यहाँ सिर्फ एक उदाहरण है और मिलान को काफी सख्ती से करेगा (केवल एक वर्ण का अंतर)। आपको या तो बड़ी संख्या का उपयोग करना चाहिए या, जो @IVO GELOV सुझाता है - सापेक्ष दूरी (लंबाई से विभाजित दूरी) का उपयोग करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. plpgsql फ़ंक्शन:यादृच्छिक तालिका से बनाए गए दृश्य से पंक्तियाँ लौटाएँ

  2. Postgresql enum क्या फायदे और नुकसान हैं?

  3. IS NOT NULL के लिए रेल का दायरा खाली/खाली नहीं है?

  4. तालिकाओं में परिवर्तन के बारे में स्वचालित सूचनाएं कैसे प्राप्त करें?

  5. क्या मैं एक क्वेरी को कई प्रश्नों में विभाजित कर सकता हूं या किसी क्वेरी को गति देने के लिए समांतरता बना सकता हूं?