MySQL provides the SOUNDEX function to convert a string into a four-character code based on how the string sounds when spoken. In this article, we will learn how to use SOUNDEX in MySQL.
The basic syntax of a SOUNDEX is as follows:
SELECT SOUNDEX(string_name);We will be using docker in this article, but feel free to install your database locally instead. Once you have docker installed, create a new file called docker-compose.yml and add the following.
version: '3'
services:
db:
image: mysql:latest
container_name: db
environment:
MYSQL_ROOT_PASSWORD: root_pass
MYSQL_DATABASE: app_db
MYSQL_USER: db_user
MYSQL_PASSWORD: db_user_pass
ports:
- "6033:3306"
volumes:
- dbdata:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: pma
links:
- db
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
ports:
- 8081:80
volumes:
dbdata:Next, run docker-compose up.
Now, navigate to http://localhost:8081/ to access phpMyAdmin. Then log in with the username root and pass root_pass.
Click the SQL tab and you are ready to go.
The soundex is a straight forward function. Let's run a few example to see how different code compare.
SELECT soundex('hello') as res;| res |
|---|
| H400 |
We can compare this score to a similar sounding word, "mellow"
SELECT soundex('hello') as res, soundex('mellow') as res2;| res | res2 |
|---|---|
| H400 | M400 |
As expected, we see the starting code is different as the two words sound different when sounding out the word.
