sql >> Base de Datos >  >> RDS >> Mysql

Cómo funciona el operador SOUNDS LIKE en MySQL

En MySQL, puede usar SOUNDS LIKE operador para devolver resultados que suenan como una palabra dada.

Este operador funciona mejor en cadenas en inglés (usarlo con otros idiomas puede generar resultados poco confiables).

Sintaxis

La sintaxis es así:

expr1 SOUNDS LIKE expr2

Donde expr1 y expr2 son las cadenas de entrada que se comparan.

Este operador es el equivalente a hacer lo siguiente:

SOUNDEX(expr1) = SOUNDEX(expr2)

Ejemplo 1:uso básico

Aquí hay un ejemplo de cómo usar este operador en un SELECT declaración:

SELECT 'Damn' SOUNDS LIKE 'Dam';

Resultado:

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

En este caso, el valor de retorno es 1 lo que significa que las dos cadenas de entrada suenan igual.

Esto es lo que sucede si las cadenas de entrada no suenan igual:

SELECT 'Damn' SOUNDS LIKE 'Cat';

Resultado:

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

Ejemplo 2 – Comparado con SOUNDEX()

Aquí se compara con SOUNDEX() :

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

Resultado:

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

Ejemplo 3:un ejemplo de base de datos

Aquí hay un ejemplo de cómo podemos usar este operador dentro de una consulta de base de datos:

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

Resultado:

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

Y aquí está usando SOUNDEX() :

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

Resultado:

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