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