কম্পিউটার টিউটোরিয়াল

MySQL-এ SOUNDEX() ফাংশন ব্যবহার করে ধ্বনিসাম্য খুঁজে বের করা

MySQL-এ SOUNDEX() ফাংশন একটি স্ট্রিংয়ের ফোনেটিক রিপ্রেজেন্টেশন রিটার্ন করে। একই রকম শব্দের SOUNDEX কোড একই হয়, যা スペルিং ভিন্ন হলেও ডেটা খুঁজে বের করতে সাহায্য করে।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE SOUNDEX(yourValue) = SOUNDEX(yourColumnName);

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstName VARCHAR(20),
    -> LastName VARCHAR(20)
    -> );
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Adam', 'Smith');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('David', 'Miller');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Carol', 'Taylor');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Chris', 'Brown');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Smith');

সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;
+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
|  1 | Adam      | Smith    |
|  2 | David     | Miller   |
|  3 | Carol     | Taylor   |
|  4 | Chris     | Brown    |
|  5 | John      | Smith    |
+----+-----------+----------+

'Smith' শব্দের সাথে ধ্বনিসাম্যপূর্ণ LastName খুঁজে বের করা

mysql> SELECT * FROM DemoTable 
    -> WHERE SOUNDEX('Smith') = SOUNDEX(LastName);

ফলাফল

+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
|  1 | Adam      | Smith    |
|  5 | John      | Smith    |
+----+-----------+----------+

ব্যাখ্যা: 'Smith' এবং 'Smith' একই শব্দ, তাই একই SOUNDEX কোড দিয়ে দুটি রো मैच করেছে। যদি 'Smyth' বা 'Smeth' থাকে, সেগুলোও मैच করত।

সীমাবদ্ধতা: SOUNDEX মূলত ইংরেজি নামের জন্য ডিজাইন করা। বাংলা বা অন্যান্য ভাষায় ভালো কাজ নাও করতে পারে।

  1. MySQL-এ ORDER BY LIKE প্যাটার্ন অনুযায়ী সর্ট করা (CASE WHEN)

  2. MySQL-এ প্রতিটি সারোতে মান যোগ করা (UPDATE দিয়ে ইন্টিজার এবং ডেট কলাম আপডেট)

  3. MySQL-এ CAST এবং CONV ফাংশন ব্যবহার করে টাইপ BigInt-এ কনভার্ট করা

  4. MySQL-এ সাবকোয়েরি সঠিকভাবে প্যারেনথেসিস দিয়ে লিখা