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

एसक्यूएल फजी मिलान

SOUNDEX और 2 स्ट्रिंग्स के बीच एक संख्यात्मक दूरी का उपयोग करके एक स्ट्रिंग समानता की गणना करने के लिए एक त्वरित डोमेन विशिष्ट समाधान हो सकता है। यह वास्तव में तभी मदद करेगा जब आपके पास बहुत सारे उत्पाद कोड होंगे।

नीचे की तरह एक साधारण यूडीएफ का उपयोग करके आप एक स्ट्रिंग से संख्यात्मक वर्ण निकाल सकते हैं ताकि आप 'सीएलसी 2200 एनपीके' में से 2200 और 'सीएलसी 1100' में से 1100 प्राप्त कर सकें ताकि अब आप प्रत्येक इनपुट के SOUNDEX आउटपुट के आधार पर निकटता निर्धारित कर सकें। साथ ही प्रत्येक इनपुट के संख्यात्मक घटक की निकटता।

CREATE Function [dbo].[ExtractNumeric](@input VARCHAR(1000))
RETURNS INT
AS
BEGIN
    WHILE PATINDEX('%[^0-9]%', @input) > 0
    BEGIN
        SET @input = STUFF(@input, PATINDEX('%[^0-9]%', @input), 1, '')
    END
    IF @input = '' OR @input IS NULL
        SET @input = '0'
    RETURN CAST(@input AS INT)
END
GO

जहां तक ​​​​सामान्य प्रयोजन एल्गोरिदम जाते हैं, वहां कुछ जोड़े हैं जो डेटा सेट आकार और प्रदर्शन आवश्यकताओं के आधार पर सफलता की अलग-अलग डिग्री के साथ आपकी सहायता कर सकते हैं। (दोनों लिंक में TSQL कार्यान्वयन उपलब्ध हैं)

  • डबल मेटाफोन - यह एल्गो आपको साउंडएक्स की तुलना में गति की कीमत पर बेहतर मैच देगा, हालांकि यह वर्तनी सुधार के लिए वास्तव में अच्छा है।
  • लेवेनशेटिन दूरी - यह गणना करेगा कि 'सीएलसी 2200 एनपीके' से 'सीएलसी 2200' तक पहुंचने के लिए उदाहरण के लिए एक स्ट्रिंग को दूसरे में बदलने के लिए कितने कीप्रेस लगेंगे, जबकि 'सीएलसी 2200 एनपीके' से 'सीएलसी 1100' तक है। 5.

यहां एक दिलचस्प लेख है जो दोनों एल्गो को एक साथ लागू करता है जो आपको कुछ विचार दे सकता है।

उम्मीद है कि इनमें से कुछ से थोड़ी मदद मिलेगी।

संपादित करें:यहां एक बहुत तेज़ आंशिक लेवेनशेटिन दूरी कार्यान्वयन है (उस पोस्ट को पढ़ें जो सामान्य के समान सटीक परिणाम नहीं लौटाएगा)। 125000 पंक्तियों की मेरी परीक्षण तालिका पर यह 6 सेकंड में चलती है, जबकि मेरे द्वारा पहले लिंक की गई 60 सेकंड की तुलना में।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में तालिका-मूल्यवान फ़ंक्शन के माध्यम से डेटा का चयन करें

  2. SQL Group BY, प्रत्येक समूह के लिए शीर्ष N आइटम

  3. M1 Mac (ARM64) पर SQL सर्वर कैसे स्थापित करें

  4. ALTER TABLE कथन SQL सर्वर में FOREIGN KEY बाधा के साथ विरोध करता है - SQL Sever / TSQL ट्यूटोरियल पार्ट 69

  5. SQL सर्वर समांतर डेटावेयरहाउसिंग टीडीएस त्रुटि के लिए कर्सर समर्थन के लिए एक वर्कअराउंड एक कार्यान्वित सुविधा नहीं है