Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาข้อความที่ออกเสียงคล้ายด้วย SOUNDEX() ใน MySQL

SOUNDEX() สร้างรหัสเสียง 4 ตัวอักษร ข้อความที่ออกเสียงคล้ายกันจะได้รหัสเดียวกัน

ไวยากรณ์

SELECT * FROM your_table WHERE SOUNDEX(ค่าค้นหา) = SOUNDEX(คอลัมน์);

สร้างตารางและเพิ่มข้อมูล

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'), ('David', 'Miller'), ('Carol', 'Taylor'),
    ('Chris', 'Brown'), ('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'

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

ผลลัพธ์

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

การประยุกต์: ใช้ค้นหาชื่อที่สะกดผิดหรือออกเสียงคล้าย เช่น 'Smyth', 'Smithe' ก็จะเจอ 'Smith'