इस लेख का उद्देश्य आपको 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
. का परिणाम ।