मारियाडीबी में, SOUNDEX()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो किसी दिए गए स्ट्रिंग से साउंडेक्स स्ट्रिंग लौटाता है।
साउंडेक्स ध्वनि द्वारा नामों को अनुक्रमित करने के लिए एक ध्वन्यात्मक एल्गोरिथ्म है, जैसा कि अंग्रेजी में उच्चारित किया गया है। यदि दो शब्द एक जैसे लगते हैं, तो उनमें एक ही साउंडेक्स स्ट्रिंग होनी चाहिए। अगर दो शब्द एक जैसे लगते हैं, लेकिन बिल्कुल एक जैसे नहीं हैं, तो उनकी साउंडेक्स स्ट्रिंग एक जैसी दिख सकती है लेकिन बिल्कुल एक जैसी नहीं।
फ़ंक्शन एक तर्क को स्वीकार करता है:वह स्ट्रिंग जिसके लिए साउंडेक्स स्ट्रिंग को वापस करना है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
SOUNDEX(str)
जहां str
वह स्ट्रिंग है जिसके लिए साउंडेक्स स्ट्रिंग को वापस करना है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT SOUNDEX('Bat');
SELECT चुनें
परिणाम:
+----------------+| SOUNDEX('बैट') |+----------------+| बी300 |+----------------+
यहां एक और उदाहरण दिया गया है जो समान, लेकिन भिन्न, ध्वनि वाले शब्दों से लौटाए गए साउंडेक्स स्ट्रिंग की तुलना करता है:
SELECT
SOUNDEX('Bat'),
SOUNDEX('Cat'),
SOUNDEX('Cap');
चुनें
परिणाम:
+----------------+----------------+--------------- ----+| साउंडडेक्स ('बैट') | साउंडडेक्स ('बिल्ली') | SOUNDEX ('कैप') | --------+| बी300 | सी300 | सी100 |+----------------+----------------+--------------- ---+
और यहाँ एक है जो उन शब्दों की तुलना करता है जो एक जैसे नहीं लगते:
SELECT
SOUNDEX('Apartment'),
SOUNDEX('Vehicle'),
SOUNDEX('Groceries');
परिणाम:
+--------------------------+--------------------------+-- ------------------------+| SOUNDEX('अपार्टमेंट') | SOUNDEX ('वाहन') | SOUNDEX('किराने का सामान') | -+--------------------------+| ए16353 | वी240 | G6262 |+--------------------------+--------------------------+--- -------------------+
मुझे यह उल्लेख करना चाहिए कि यह फ़ंक्शन मूल साउंडएक्स एल्गोरिदम लागू करता है जो पहले स्वरों को छोड़ देता है और दूसरा डुप्लिकेट करता है। यह उन्नत संस्करण के विपरीत है, जो डुप्लिकेट को पहले और स्वरों को दूसरे स्थान पर छोड़ देता है।
साथ ही, एक मानक साउंडेक्स स्ट्रिंग चार वर्ण लंबी होती है, लेकिन मारियाडीबी का SOUNDEX()
फ़ंक्शन एक मनमाने ढंग से लंबी स्ट्रिंग देता है। इसलिए उपरोक्त परिणामों में गैर-मानक साउंडेक्स स्ट्रिंग्स शामिल हैं।
मेरा क्या मतलब है, यह स्पष्ट करने के लिए, ओरेकल के SOUNDEX()
का उपयोग करते समय मुझे जो परिणाम मिलता है, वह यहां दिया गया है एक ही काम करने के लिए कार्य करें:
SELECT
SOUNDEX('Apartment'),
SOUNDEX('Vehicle'),
SOUNDEX('Groceries')
FROM DUAL;
परिणाम:
SOUNDEX('अपार्टमेंट') SOUNDEX('Vehicle') SOUNDEX('किराने')सटीक मिलान
यहां उन शब्दों के जोड़े का उदाहरण दिया गया है, जिनका साउंडेक्स स्ट्रिंग से मेल खाता है, भले ही वे अलग-अलग शब्द हों, जिनका अर्थ अलग-अलग हो:
SELECT SOUNDEX('Dam') AS Dam, SOUNDEX('Damn') AS Damn, SOUNDEX('Too') AS Too, SOUNDEX('Two') AS Two;
परिणाम:
+----------+----------+----------+------+| बांध | धिक्कार है | बहुत | दो |+----------+----------+----------+------+| डी500 | डी500 | टी000 | टी000 |+----------+------+----------+------+डेटाबेस उदाहरण
डेटाबेस क्वेरी से साउंडेक्स स्ट्रिंग प्राप्त करने का एक उदाहरण यहां दिया गया है:
SELECT PetName, SOUNDEX(PetName) FROM Pets;
परिणाम:
+------+---------------------+| पेटनाम | SOUNDEX(पेटनाम) |+-----------+----------------------+| शराबी | F410 || फ़ेच | F320 || खरोंच | एस632 || वैग | W200 || ट्वीट | टी000 || शराबी | F410 || छाल | बी620 || म्याऊ | M000 |+---------+---------------------+हम
SOUNDEX()
. का भी उपयोग कर सकते हैं एकWHERE
. में केवल उन पंक्तियों को वापस करने के लिए खंड जो किसी दिए गए शब्द की तरह लगती हैं:SELECT PetName, SOUNDEX(PetName), SOUNDEX('Wagg') FROM Pets WHERE SOUNDEX(PetName) = SOUNDEX('Wagg');
परिणाम:
+------+----------------------+--------------------- +| पेटनाम | SOUNDEX (पेटनाम) | SOUNDEX('Wagg') |+-----------+---------------------+------------- ----+| वैग | W200 | W200 |+-----हालांकि, आप
SOUNDS LIKE
. का उपयोग करना पसंद कर सकते हैं इसके बजाय, जो समान कार्य करने का अधिक संक्षिप्त तरीका है।खाली स्ट्रिंग
यहाँ क्या होता है जब प्रत्येक दिए गए तर्क के लिए एक खाली स्ट्रिंग पास की जाती है:
SELECT SOUNDEX('');
परिणाम:
+---------------+| SOUNDEX('') |+----------------+| |+---------------+अशक्त तर्क
पासिंग
null
रिटर्नnull
:SELECT SOUNDEX(null);
परिणाम:
+---------------+| ध्वनि (शून्य) |+---------------+| नल |+---------------+अनुपलब्ध तर्क
कॉलिंग
SOUNDEX()
तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:SELECT SOUNDEX();
परिणाम:
ERROR 1582 (42000):नेटिव फंक्शन 'SOUNDEX' पर कॉल में गलत पैरामीटर गिनती