Mysql
 sql >> Base de données >  >> RDS >> Mysql

Fonctionnement de l'opérateur SOUNDS LIKE dans MySQL

Dans MySQL, vous pouvez utiliser le SOUNDS LIKE opérateur pour renvoyer des résultats qui sonnent comme un mot donné.

Cet opérateur fonctionne mieux sur les chaînes en anglais (l'utiliser avec d'autres langues peut renvoyer des résultats non fiables).

Syntaxe

La syntaxe ressemble à ceci :

expr1 SOUNDS LIKE expr2

expr1 et expr2 sont les chaînes d'entrée comparées.

Cet opérateur équivaut à faire ce qui suit :

SOUNDEX(expr1) = SOUNDEX(expr2)

Exemple 1 - Utilisation de base

Voici un exemple d'utilisation de cet opérateur dans un SELECT déclaration :

SELECT 'Damn' SOUNDS LIKE 'Dam';

Résultat :

+--------------------------+
| 'Damn' SOUNDS LIKE 'Dam' |
+--------------------------+
|                        1 |
+--------------------------+

Dans ce cas, la valeur de retour est 1 ce qui signifie que les deux chaînes d'entrée sonnent de la même manière.

Voici ce qui se passe si les chaînes d'entrée ne le font pas se ressemblent :

SELECT 'Damn' SOUNDS LIKE 'Cat';

Résultat :

+--------------------------+
| 'Damn' SOUNDS LIKE 'Cat' |
+--------------------------+
|                        0 |
+--------------------------+

Exemple 2 – Comparé à SOUNDEX()

Ici, il est comparé à SOUNDEX() :

SELECT 
  'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE',
  SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';

Résultat :

+-------------+-----------+
| SOUNDS LIKE | SOUNDEX() |
+-------------+-----------+
|           1 |         1 |
+-------------+-----------+

Exemple 3 - Un exemple de base de données

Voici un exemple d'utilisation de cet opérateur dans une requête de base de données :

SELECT ArtistName FROM Artists
WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';

Résultat :

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

Et ici, il utilise SOUNDEX() :

SELECT ArtistName FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');

Résultat :

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+