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