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 মূলত ইংরেজি নামের জন্য ডিজাইন করা। বাংলা বা অন্যান্য ভাষায় ভালো কাজ নাও করতে পারে।