In MySQL, you can use the SOUNDS LIKE
operator to return results that sound like a given word.
This operator works best on strings in the English language (using it with other languages may return unreliable results).
Syntax
The syntax goes like this:
expr1 SOUNDS LIKE expr2
Where expr1
and expr2
are the input strings being compared.
This operator is the equivalent of doing the following:
SOUNDEX(expr1) = SOUNDEX(expr2)
Example 1 – Basic Usage
Here’s an example of how to use this operator in a SELECT
statement:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Result:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
In this case, the return value is 1
which means that the two input strings sound alike.
Here’s what happens if the input strings don’t sound alike:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Result:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Example 2 – Compared to SOUNDEX()
Here it is compared to SOUNDEX()
:
SELECT 'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE', SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';
Result:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Example 3 – A Database Example
Here’s an example of how we can use this operator within a database query:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Result:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
And here it is using SOUNDEX()
:
SELECT ArtistName FROM Artists WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');
Result:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+