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