測試環境為 CentOS 8 X86_64 (虛擬機)
SOUNDS LIKE 可以用來比對發音很像的字串.
先建立一個資料庫 (testdb) , 與 tables (employee) 格式為 Name char(20), Dept char(20), jobTitle char(20) 各 20 個字元以及 Salary int(11).
[root@localhost ~]# mysql -u root -p Enter password: MariaDB [(none)]> CREATE DATABASE testdb; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> USE testdb; Database changed MariaDB [testdb]> CREATE TABLE employee (Name char(20),Dept char(20),JobTitle char(20),Salary int(11)); Query OK, 0 rows affected (0.10 sec) MariaDB [testdb]> DESCRIBE employee; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | Name | char(20) | YES | | NULL | | | Dept | char(20) | YES | | NULL | | | JobTitle | char(20) | YES | | NULL | | | Salary | int(11) | YES | | NULL | | +----------+----------+------+-----+---------+-------+ 4 rows in set (0.01 sec)
透過 INSERT 新增加了四筆資料.
MariaDB [testdb]> INSERT INTO employee VALUES ('Ben','Testing','Engineer','45000') , ('Afa','Power','Engineer','48000') , ('Boss','Testing','Manager','75000') , ('Cars','Testing','Senior Engineer','42000'); Query OK, 4 rows affected (0.002 sec) Records: 4 Duplicates: 0 Warnings: 0 MariaDB [testdb]> SELECT * FROM employee; +------+---------+-----------------+--------+ | Name | Dept | JobTitle | Salary | +------+---------+-----------------+--------+ | Ben | Testing | Engineer | 45000 | | Afa | Power | Engineer | 48000 | | Boss | Testing | Manager | 75000 | | Cars | Testing | Senior Engineer | 42000 | +------+---------+-----------------+--------+ 4 rows in set (0.000 sec)
正規的 LIKE 搜尋資料.
MariaDB [testdb]> SELECT * FROM employee WHERE Name LIKE 'Ben'; +------+---------+----------+--------+ | Name | Dept | JobTitle | Salary | +------+---------+----------+--------+ | Ben | Testing | Engineer | 45000 | +------+---------+----------+--------+ 1 row in set (0.000 sec)
如果字錯誤就無法找到.
MariaDB [testdb]> SELECT * FROM employee WHERE Name LIKE 'Ban'; Empty set (0.000 sec)
使用 SOUNDS LIKE 就算字錯但音像一樣可以找到.
MariaDB [testdb]> SELECT * FROM employee WHERE Name SOUNDS LIKE 'Ban'; +------+---------+----------+--------+ | Name | Dept | JobTitle | Salary | +------+---------+----------+--------+ | Ben | Testing | Engineer | 45000 | +------+---------+----------+--------+ 1 row in set (0.000 sec)
沒有解決問題,試試搜尋本站其他內容