В 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 | +------------+