Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como o operador SOUNDS LIKE funciona no MySQL


No MySQL, você pode usar o SOUNDS LIKE operador para retornar resultados que soam como uma determinada palavra.

Este operador funciona melhor em strings no idioma inglês (usá-lo com outros idiomas pode retornar resultados não confiáveis).


Sintaxe


A sintaxe fica assim:
expr1 SOUNDS LIKE expr2

Onde expr1 e expr2 são as strings de entrada que estão sendo comparadas.

Este operador é o equivalente a fazer o seguinte:
SOUNDEX(expr1) = SOUNDEX(expr2)

Exemplo 1 – Uso básico


Aqui está um exemplo de como usar este operador em um SELECT demonstração:
SELECT 'Damn' SOUNDS LIKE 'Dam';

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

Neste caso, o valor de retorno é 1 o que significa que as duas cordas de entrada soam iguais.

Veja o que acontece se as strings de entrada não soar igual:
SELECT 'Damn' SOUNDS LIKE 'Cat';

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

Exemplo 2 – Comparado com SOUNDEX()


Aqui é comparado com SOUNDEX() :
SELECT 
  'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE',
  SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';

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

Exemplo 3 – Um exemplo de banco de dados


Aqui está um exemplo de como podemos usar esse operador em uma consulta de banco de dados:
SELECT ArtistName FROM Artists
WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';

Resultado:
+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

E aqui está usando SOUNDEX() :
SELECT ArtistName FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');

Resultado:
+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+