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:
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:
Now, navigate to
http://localhost:8081/ to access phpMyAdmin. Then log in with the username
root and 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;
We can compare this score to a similar sounding word, "mellow"
SELECT soundex('hello') as res, soundex('mellow') as res2;
As expected, we see the starting code is different as the two words sound different when sounding out the word.