MariaDB में, आप SOUNDS LIKE
. का उपयोग कर सकते हैं एक जैसे लगने वाले शब्दों से मेल खाने के लिए एक प्रश्न में।
सिंटैक्स
वाक्य रचना इस प्रकार है:
expr1 SOUNDS LIKE expr2
यह ऐसा करने जैसा ही है:SOUNDEX(expr1) = SOUNDEX(expr2)
।
साउंडएक्स ध्वनि द्वारा नामों को अनुक्रमित करने के लिए एक ध्वन्यात्मक एल्गोरिथ्म है, जैसा कि अंग्रेजी में उच्चारित किया गया है। यदि दो शब्द एक जैसे लगते हैं, तो उनमें एक ही साउंडेक्स स्ट्रिंग होनी चाहिए। अगर दो शब्द एक जैसे लगते हैं, लेकिन बिल्कुल एक जैसे नहीं हैं, तो उनकी साउंडेक्स स्ट्रिंग एक जैसी दिख सकती है लेकिन बिल्कुल एक जैसी नहीं।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT 'Two' SOUNDS LIKE 'Too';
परिणाम:
+-------------------------+ | 'Two' SOUNDS LIKE 'Too' | +-------------------------+ | 1 | +-------------------------+
इस मामले में, दो शब्द समान लगते हैं।
हम SOUNDEX()
. का उपयोग कर सकते हैं प्रत्येक शब्द के साउंडेक्स स्ट्रिंग को वापस करने के लिए कार्य करें:
SELECT
SOUNDEX('Two'),
SOUNDEX('Too');
परिणाम:
+----------------+----------------+ | SOUNDEX('Two') | SOUNDEX('Too') | +----------------+----------------+ | T000 | T000 | +----------------+----------------+
साउंडेक्स स्ट्रिंग्स समान हैं। यही कारण है कि SOUNDS LIKE
लौटा 1
।
कोई मिलान नहीं
यहां दो शब्दों का उदाहरण दिया गया है जो एक जैसे नहीं लगते:
SELECT 'Cat' SOUNDS LIKE 'Dog';
परिणाम:
+-------------------------+ | 'Cat' SOUNDS LIKE 'Dog' | +-------------------------+ | 0 | +-------------------------+
इस मामले में हमें 0
. मिला , क्योंकि शब्द एक जैसे नहीं लगते। संभवतः, उनके साउंडेक्स तार अलग हैं। आइए जानें:
SELECT
SOUNDEX('Cat'),
SOUNDEX('Dog');
परिणाम:
+----------------+----------------+ | SOUNDEX('Cat') | SOUNDEX('Dog') | +----------------+----------------+ | C300 | D200 | +----------------+----------------+
हां। अलग साउंडेक्स तार।
डेटाबेस उदाहरण
यहां SOUNDS LIKE
का उपयोग करने का एक उदाहरण दिया गया है WHERE
. में डेटाबेस क्वेरी का खंड:
SELECT
PetName,
SOUNDEX(PetName),
SOUNDEX('Wagg')
FROM Pets
WHERE PetName SOUNDS LIKE 'Wagg';
परिणाम:
+---------+------------------+-----------------+ | PetName | SOUNDEX(PetName) | SOUNDEX('Wagg') | +---------+------------------+-----------------+ | Wag | W200 | W200 | +---------+------------------+-----------------+
यहाँ यह SOUNDEX()
. का उपयोग कर रहा है एक ही काम करने के लिए कार्य करें:
SELECT
PetName,
SOUNDEX(PetName),
SOUNDEX('Wagg')
FROM Pets
WHERE SOUNDEX(PetName) = SOUNDEX('Wagg');
परिणाम:
+---------+------------------+-----------------+ | PetName | SOUNDEX(PetName) | SOUNDEX('Wagg') | +---------+------------------+-----------------+ | Wag | W200 | W200 | +---------+------------------+-----------------+