В MySQL можете да използвате SOUNDS LIKE оператор, за да върне резултати, които звучат като дадена дума.
Този оператор работи най-добре върху низове на английски език (използването му с други езици може да доведе до ненадеждни резултати).
Синтаксис
Синтаксисът е така:
expr1 SOUNDS LIKE expr2
Където expr1 и expr2 са входните низове, които се сравняват.
Този оператор е еквивалент на извършване на следното:
SOUNDEX(expr1) = SOUNDEX(expr2)
Пример 1 – Основна употреба
Ето пример за това как да използвате този оператор в SELECT изявление:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Резултат:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
В този случай връщаната стойност е 1 което означава, че двата входни низа звучат еднакво.
Ето какво се случва, ако входните низове не звучи еднакво:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Резултат:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Пример 2 – В сравнение с SOUNDEX()
Тук се сравнява с SOUNDEX() :
SELECT
'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE',
SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()'; Резултат:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Пример 3 – Пример за база данни
Ето пример за това как можем да използваме този оператор в заявка към база данни:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Резултат:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
И тук се използва SOUNDEX() :
SELECT ArtistName FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci'); Резултат:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+