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

MySQL SOUNDEX () उदाहरण

कई MySQL स्ट्रिंग फ़ंक्शंस में से एक है SOUNDEX() समारोह। यह फ़ंक्शन किसी दिए गए स्ट्रिंग से साउंडएक्स स्ट्रिंग देता है। यदि दो शब्द एक जैसे लगते हैं, तो उनमें एक ही साउंडेक्स स्ट्रिंग होनी चाहिए। अगर दो शब्द एक जैसे लगते हैं, लेकिन बिल्कुल एक जैसे नहीं हैं, तो उनकी साउंडेक्स स्ट्रिंग एक जैसी दिख सकती है लेकिन बिल्कुल एक जैसी नहीं।

इस लेख में साउंडएक्स उदाहरणों का एक समूह है जो प्रदर्शित करता है कि कैसे SOUNDEX() फ़ंक्शन MySQL में काम करता है।

सिंटैक्स

सबसे पहले, आइए सिंटैक्स को देखें:

SOUNDEX(str)

जहां str वह स्ट्रिंग है जिसके लिए आपको साउंडेक्स स्ट्रिंग की आवश्यकता होती है।

उदाहरण

यहाँ एक स्ट्रिंग से साउंडेक्स स्ट्रिंग को पुनः प्राप्त करने का एक उदाहरण दिया गया है:

SELECT SOUNDEX('Sure');

परिणाम:

+-----------------+
| SOUNDEX('Sure') |
+-----------------+
| S600            |
+-----------------+

तो इस मामले में, शब्द Sure S600 . का साउंडेक्स स्ट्रिंग है ।

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

यहां एक उदाहरण दिया गया है कि जहां दो शब्द समान (या बहुत समान) लगते हैं, और इसलिए, वे समान साउंडेक्स स्ट्रिंग साझा करते हैं:

SELECT 
    SOUNDEX('Sure') AS Sure, 
    SOUNDEX('Shore') AS Shore;

परिणाम:

+------+-------+
| Sure | Shore |
+------+-------+
| S600 | S600  |
+------+-------+

यहां कुछ और सटीक मिलान उदाहरण दिए गए हैं:

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

परिणाम:

+------+------+------+------+
| Dam  | Damn | Too  | Two  |
+------+------+------+------+
| D500 | D500 | T000 | T000 |
+------+------+------+------+

उदाहरण - गैर मिलान

यहां एक उदाहरण दिया गया है जहां दो शब्द समान नहीं लगते हैं, और इसलिए, उनके पास अलग-अलग साउंडेक्स स्ट्रिंग हैं:

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

परिणाम:

+-------+--------+
| Water | Coffee |
+-------+--------+
| W360  | C100   |
+-------+--------+

जैसा कि आप देख सकते हैं, साउंडेक्स स्ट्रिंग इन दो शब्दों के लिए पूरी तरह से अलग है।

उदाहरण - अलग-अलग वर्तनी

यहां दो शब्दों का उदाहरण दिया गया है जिनकी वर्तनी अलग-अलग है (आप किस देश से हैं इस पर निर्भर करता है):

SELECT 
  SOUNDEX('Color') AS 'Color',
  SOUNDEX('Colour') AS 'Colour';

परिणाम:

+-------+--------+
| Color | Colour |
+-------+--------+
| C460  | C460   |
+-------+--------+

इसलिए हम देख सकते हैं कि ऐसे शब्द समान साउंडेक्स स्ट्रिंग को साझा करेंगे (जब तक उनका उच्चारण उसी तरह किया जाता है)।

उदाहरण - समान ध्वनि, भिन्न ध्वनि

ऐसे मामले हैं जहां शब्द समान लगते हैं, लेकिन उनके पास अलग-अलग साउंडेक्स स्ट्रिंग हैं। इसका सबसे आम कारण यह है कि वे एक अलग अक्षर से शुरू होते हैं, जिनमें से एक मूक पत्र है। आपने पिछले उदाहरणों से देखा होगा कि साउंडेक्स स्ट्रिंग स्ट्रिंग के पहले अक्षर से शुरू होती है।

इसलिए, यदि आपके पास दो शब्द हैं जो बिल्कुल समान हैं, लेकिन वे एक अलग अक्षर से शुरू होते हैं, तो उनके पास एक अलग साउंडेक्स स्ट्रिंग होगी।

यहां कुछ उदाहरण दिए गए हैं:

SELECT
    SOUNDEX('Hole') AS 'Hole',
    SOUNDEX('Whole') AS 'Whole',
    SOUNDEX('Our') AS Our,
    SOUNDEX('Hour') AS Hour;

परिणाम:

+------+-------+------+------+
| Hole | Whole | Our  | Hour |
+------+-------+------+------+
| H400 | W400  | O600 | H600 |
+------+-------+------+------+

इस उदाहरण में जोड़े में अलग साउंडेक्स स्ट्रिंग्स हैं, क्योंकि उनका पहला अक्षर अलग है।

उदाहरण - डेटाबेस क्वेरी में साउंडेक्स

यहां SOUNDEX() का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस क्वेरी में। इस मामले में, हम ऐसे किसी भी रिकॉर्ड की तलाश कर रहे हैं जो "Ay See Dee Ci" जैसा लगे:

SELECT ArtistName 
FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');

परिणाम:

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

तो AC/DC जाहिरा तौर पर एक ही Soundex कोड है Ay See Dee Ci (कम से कम MySQL का उपयोग करते समय) बस यह सुनिश्चित करने के लिए, उन दोनों स्ट्रिंग्स के लिए साउंडएक्स कोड यहां दिए गए हैं:

SELECT 
  SOUNDEX('AC/DC') AS 'AC/DC',
  SOUNDEX('Ay See Dee Ci') AS 'Ay See Dee Ci';

परिणाम:

+-------+---------------+
| AC/DC | Ay See Dee Ci |
+-------+---------------+
| A232  | A232          |
+-------+---------------+

एक विकल्प:SOUNDS LIKE

SOUNDS LIKE . का उपयोग करके एक वैकल्पिक क्वेरी बनाई जा सकती थी SOUNDEX() . के बजाय समारोह। इस तरह:

SELECT ArtistName FROM Artists
WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';

परिणाम:

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सिद्धांत 2 mysql FIELD द्वारा क्रम में कार्य करता है

  2. MySQL में टेक्स्ट कॉलम में स्ट्रिंग खोजें

  3. कौन सा सबसे तेज़ है? `टेबल` से SQL_CALC_FOUND_ROWS चुनें, या COUNT(*) चुनें

  4. MySQL से JSON डेटा कैसे प्राप्त करें?

  5. Mysql में पंक्तियों के एक सेट पर संचयी योग