Mysql
 sql >> Database >  >> RDS >> Mysql

Come funziona l'operatore SOUNDS LIKE in MySQL

In MySQL, puoi usare SOUNDS LIKE operatore per restituire risultati che suonano come una determinata parola.

Questo operatore funziona meglio sulle stringhe in lingua inglese (l'utilizzo con altre lingue può restituire risultati inaffidabili).

Sintassi

La sintassi è questa:

expr1 SOUNDS LIKE expr2

Dove expr1 e expr2 sono le stringhe di input da confrontare.

Questo operatore equivale a fare quanto segue:

SOUNDEX(expr1) = SOUNDEX(expr2)

Esempio 1 – Utilizzo di base

Ecco un esempio di come utilizzare questo operatore in un SELECT dichiarazione:

SELECT 'Damn' SOUNDS LIKE 'Dam';

Risultato:

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

In questo caso, il valore restituito è 1 il che significa che le due stringhe di input suonano allo stesso modo.

Ecco cosa succede se le stringhe di input non suonano allo stesso modo:

SELECT 'Damn' SOUNDS LIKE 'Cat';

Risultato:

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

Esempio 2 – Rispetto a SOUNDEX()

Qui viene confrontato con SOUNDEX() :

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

Risultato:

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

Esempio 3:un esempio di database

Ecco un esempio di come possiamo utilizzare questo operatore all'interno di una query di database:

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

Risultato:

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

E qui sta usando SOUNDEX() :

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

Risultato:

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