W MySQL możesz użyć SOUNDS LIKE
operator, aby zwrócić wyniki, które brzmią jak dane słowo.
Ten operator działa najlepiej na ciągach w języku angielskim (używanie go z innymi językami może zwrócić niewiarygodne wyniki).
Składnia
Składnia wygląda tak:
expr1 SOUNDS LIKE expr2
Gdzie expr1
i expr2
są porównywane ciągi wejściowe.
Ten operator jest odpowiednikiem wykonania następującego zadania:
SOUNDEX(expr1) = SOUNDEX(expr2)
Przykład 1 – Podstawowe użycie
Oto przykład użycia tego operatora w SELECT
oświadczenie:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Wynik:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
W tym przypadku zwracana wartość to 1
co oznacza, że dwie struny wejściowe brzmią podobnie.
Oto, co się stanie, jeśli ciągi wejściowe nie brzmi podobnie:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Wynik:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Przykład 2 — w porównaniu z SOUNDEX()
Tutaj jest porównywany do SOUNDEX()
:
SELECT 'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE', SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';
Wynik:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Przykład 3 – Przykład bazy danych
Oto przykład, jak możemy użyć tego operatora w zapytaniu do bazy danych:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Wynik:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
A tutaj używa SOUNDEX()
:
SELECT ArtistName FROM Artists WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');
Wynik:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+