Showing posts with label Mysql SOUNDS LIKE. Show all posts
Showing posts with label Mysql SOUNDS LIKE. Show all posts

Tuesday, 30 July 2019

How the SOUNDS LIKE Operator Works in MySQL

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