In MySQL können Sie den SOUNDS LIKE
verwenden -Operator, um Ergebnisse zurückzugeben, die wie ein bestimmtes Wort klingen.
Dieser Operator funktioniert am besten mit Zeichenfolgen in englischer Sprache (die Verwendung mit anderen Sprachen kann zu unzuverlässigen Ergebnissen führen).
Syntax
Die Syntax lautet wie folgt:
expr1 SOUNDS LIKE expr2
Wobei expr1
und expr2
sind die Eingabezeichenfolgen, die verglichen werden.
Dieser Operator entspricht dem folgenden Vorgang:
SOUNDEX(expr1) = SOUNDEX(expr2)
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel für die Verwendung dieses Operators in einem SELECT
Aussage:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Ergebnis:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
Der Rückgabewert ist in diesem Fall 1
was bedeutet, dass die beiden Eingangssaiten gleich klingen.
Folgendes passiert, wenn die Eingabezeichenfolgen nicht gleich klingen:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Ergebnis:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Beispiel 2 – Vergleich mit SOUNDEX()
Hier wird es mit SOUNDEX()
verglichen :
SELECT 'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE', SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';
Ergebnis:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Beispiel 3 – Ein Datenbankbeispiel
Hier ist ein Beispiel dafür, wie wir diesen Operator in einer Datenbankabfrage verwenden können:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Ergebnis:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
Und hier wird SOUNDEX()
verwendet :
SELECT ArtistName FROM Artists WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');
Ergebnis:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+