Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Funktionsweise des SOUNDS LIKE-Operators in MySQL

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