Trong MySQL, bạn có thể sử dụng SOUNDS LIKE
toán tử để trả về kết quả giống như một từ nhất định.
Toán tử này hoạt động tốt nhất trên các chuỗi bằng ngôn ngữ tiếng Anh (sử dụng nó với các ngôn ngữ khác có thể trả về kết quả không đáng tin cậy).
Cú pháp
Cú pháp như sau:
expr1 SOUNDS LIKE expr2
Trong đó expr1
và expr2
các chuỗi đầu vào có được so sánh không.
Toán tử này tương đương với việc thực hiện các thao tác sau:
SOUNDEX(expr1) = SOUNDEX(expr2)
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là ví dụ về cách sử dụng toán tử này trong SELECT
tuyên bố:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Kết quả:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
Trong trường hợp này, giá trị trả về là 1
có nghĩa là hai chuỗi đầu vào âm thanh giống nhau.
Đây là những gì sẽ xảy ra nếu các chuỗi đầu vào không âm thanh giống nhau:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Kết quả:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Ví dụ 2 - So với SOUNDEX()
Ở đây nó được so sánh với SOUNDEX()
:
SELECT 'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE', SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';
Kết quả:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Ví dụ 3 - Ví dụ về Cơ sở dữ liệu
Dưới đây là một ví dụ về cách chúng tôi có thể sử dụng toán tử này trong một truy vấn cơ sở dữ liệu:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Kết quả:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
Và ở đây nó đang sử dụng SOUNDEX()
:
SELECT ArtistName FROM Artists WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');
Kết quả:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+