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

SQL सर्वर DIFFERENCE () फ़ंक्शन कैसे काम करता है

इस लेख का उद्देश्य आपको DIFFERENCE() . को समझने में मदद करना है फ़ंक्शन, जो SQL सर्वर, Azure, आदि में उपलब्ध एक T-SQL फ़ंक्शन है।

DIFFERENCE() को समझने की कुंजी फ़ंक्शन यह समझना है कि साउंडएक्स कैसे काम करता है (या SQL सर्वर के संदर्भ में, SOUNDEX() कैसे फ़ंक्शन काम करता है)। ऐसा इसलिए है क्योंकि DIFFERENCE() फ़ंक्शन दो स्ट्रिंग्स के बीच साउंडएक्स मानों के बीच का अंतर देता है।

एक साउंडेक्स मान चार वर्ण लंबा है। यदि दो शब्द समान लगते हैं, तो वे समान चार वर्णों वाले Soundex मान को साझा करेंगे। यदि वे समान (लेकिन समान नहीं) ध्वनि करते हैं, तो उनके साउंडेक्स मान कुछ वर्ण साझा कर सकते हैं लेकिन सभी नहीं। उदाहरण के लिए, उनके साउंडेक्स मूल्यों में दो अक्षर समान और दो भिन्न हो सकते हैं। यदि दो शब्द पूरी तरह से भिन्न लगते हैं, तो उनके संबंधित साउंडेक्स मानों में से कोई भी वर्ण समान नहीं होगा।

DIFFERENCE() फ़ंक्शन एक मान देता है जो 0 . से होता है 4 . के माध्यम से . यह मान साउंडएक्स मानों में वर्णों की संख्या को दर्शाता है जो समान हैं। 0 कमजोर या कोई समानता नहीं दर्शाता है, और 4 मजबूत समानता या समान मूल्यों को इंगित करता है।

सिंटैक्स

सबसे पहले, यहाँ सिंटैक्स है:

DIFFERENCE ( character_expression , character_expression )

जैसा कि संकेत दिया गया है, यह फ़ंक्शन दो तर्कों को स्वीकार करता है। प्रत्येक वर्ण व्यंजक के साउंडेक्स कोड की तुलना की जाती है, और परिणाम लौटा दिया जाता है।

उदाहरण - सटीक मिलान

यहां एक उदाहरण दिया गया है कि क्या होता है जब दोनों तार एक जैसे लगते हैं (अर्थात उनका साउंडेक्स मान समान होता है):

SELECT DIFFERENCE('Two','Too');

परिणाम:

4

परिणाम 4 . है , जो उच्चतम संभव मूल्य है। इसका मतलब है कि दो स्ट्रिंग्स के बीच एक मजबूत समानता है (जहाँ तक उनके साउंडेक्स मान जाते हैं)।

अगर आप सोच रहे हैं कि नंबर 4 . कहां है से आया है, निम्नलिखित कोड पर एक नज़र डालें:

SELECT 
    SOUNDEX('Two') AS Two,
    SOUNDEX('Too') AS Too;

परिणाम:

Two   Too 
----  ----
T000  T000

इस उदाहरण में SOUNDEX() प्रत्येक शब्द के लिए साउंडेक्स कोड वापस करने के लिए फ़ंक्शन का उपयोग किया जाता है। जैसा कि यह पता चला है, दोनों शब्दों में समान साउंडेक्स कोड हैं (T000 ) और क्योंकि साउंडेक्स कोड के सभी चार अक्षर समान हैं, DIFFERENCE() रिटर्न 4

उदाहरण - कम समानता

जब स्ट्रिंग्स में कम समानता होती है, तो यह कैसे काम करता है, इसका एक उदाहरण यहां दिया गया है:

SELECT DIFFERENCE('Tea','Coffee');

परिणाम:

2

परिणाम 2 . है , जो बीच में है। तार बिल्कुल एक जैसे नहीं लगते, लेकिन उनमें कुछ समानताएँ हैं।

और पिछले उदाहरण की तरह, हम निम्न कोड चलाकर देख सकते हैं कि यह परिणाम कहां से आया है:

SELECT 
    SOUNDEX('Tea') AS Tea,
    SOUNDEX('Coffee') AS Coffee;

परिणाम:

Tea   Coffee
----  ------
T000  C100

तो हम देख सकते हैं कि इन शब्दों के बीच केवल दो साउंडेक्स वर्ण समान हैं। इसलिए DIFFERENCE() परिणाम है 2

उदाहरण - कोई समानता नहीं

यहां एक उदाहरण दिया गया है कि जब तार कमजोर होते हैं या समानता नहीं होती है तो यह कैसे काम करता है:

SELECT DIFFERENCE('Tree','Captivated');

परिणाम:

0

परिणाम 0 . है , जिसका अर्थ है कि तार बहुत कमजोर हैं या कोई समानता नहीं है।

और यहाँ इन दो शब्दों के लिए साउंडेक्स कोड दिए गए हैं:

SELECT 
    SOUNDEX('Tree') AS Tree,
    SOUNDEX('Captivated') AS Captivated;

परिणाम:

Tree  Captivated
----  ----------
T600  C131

तो इस मामले में, कोई भी वर्ण समान नहीं है, इसलिए एक DIFFERENCE() 0 . का परिणाम ।


  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 सर्वर DATETIME प्रकार एक सेकंड के 1/300 के टिक में समय क्यों बचाता है?

  2. कैसे OBJECTPROPERTY () SQL सर्वर में काम करता है

  3. SQL सर्वर डिफ़ॉल्ट इंस्टेंस और SQL सर्वर नामांकित इंस्टेंस से कैसे कनेक्ट करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 2

  4. तालिका से सभी डेटा को एक सम्मिलित एसक्यूएल प्रारूप में कैसे निर्यात करें?

  5. कॉलम नाम और संग्रहीत प्रक्रिया के प्रकार पुनर्प्राप्त करें?