MySQL MariaDB

How to Find a Specific Character in MySQL?

MySQL is a popular RDBMS (relational database management system) that is utilized to store, manage, and retrieve data. While working with MySQL database, you may need to search for any particular character within the stored data. MySQL provides different utilities to find a particular character. No matter if you are seeking all rows with a specific character or merely a single row that contains a particular character at the start or end.

This article presents a detailed guide to finding a specific character in MySQL.

How to Find a Specific Character in MySQL?

In MySQL, there are different ways to find a specific character such as:

How to Find a Particular Character in MySQL Using LIKE?

In MySQL, “LIKE” is a comparison operator that is used in a WHERE clause to match patterns in strings. Using these patterns, you can find a specific character, a substring, etc. Let’s proceed with the following example to find a specific character.

Example 1:

This example demonstrates how to use the LIKE operator to find a specific character that exists anywhere in a particular column of a table:

SELECT * FROM users WHERE username LIKE '%a%';

 
In the above query, “a” is searched in the “username” column of the “users” table.

Output


The output retrieved all those users that have the letter “a” in their “username” column.

Example 2:

In the following example, the LIKE operator is used to fetch all those email addresses that start or end with any specific character:

SELECT * FROM users WHERE email LIKE 'J%m';

 
The above query will select all those “users” whose “email” starts with the character “j” and ends with the character “m”.

Output


The output depicts that the results have been retrieved according to the particular condition.

How to Find a Particular Character in MySQL Using REGEXP?

In MySQL, “REGEXP” also known as regular expressions is used to search the data that matches any particular pattern. More specifically, the REGEXP can be used to find a specific character.

Example 1:

This example filters the rows that contain the letter “a” anywhere in the “username” column:

SELECT * FROM users WHERE username REGEXP 'a';

 
Output


The output verified the working of the REGEXP.

Example 2:

Let’s filter all rows from the “users” table where the “username” column begins with the letter “J” and ends with the letter “n“:

SELECT * FROM users WHERE username REGEXP '^J.*n$';

 
Output


The output showed that the rows have been filtered according to the condition defined using the REGEXP.

How to Find a Particular Character in MySQL Using LOCATE()?

In MySQL, “LOCATE()” is a string function used to find a substring or a character within a provided string. The substring can be a specific character.

Example:

Let’s find the character “i” in the “name” column of the “products” table using the LOCATE() function:

SELECT * FROM products WHERE LOCATE('i', name);

 
Output


The output showed the results that contain the “i” letter in the “name” column of the “products” table.

How to Find a Particular Character in MySQL Using INSTR()?

In MySQL, “INSTR()” is a string function that is utilized to find a substring within a given string. More specifically, it can be utilized to find a particular character.

Example:

The following query will retrieve all rows and columns from the “products” table whose “name” column includes the substring (character) “i”:

SELECT * FROM products WHERE INSTR(name, 'i');

 
Output


The output showed that the result has been retrieved according to the specified criteria.

How to Find a Particular Character in MySQL Using SUBSTRING_INDEX?

The “SUBSTRING_INDEX()” is a built-in string function in MySQL that extracts a substring from a string either before or after a given delimiter. It can be used to find a specified character.

Example:

This example shows how to find the rows that contain the “m” character after the “@example.co” string in the “email” column of the “CUSTOMERS” table:

SELECT first_name, last_name, email FROM CUSTOMERS
WHERE SUBSTRING_INDEX(email, '@example.co', -1) = 'm';

 
In the above example, “-1” returns the characters to the right of the specified delimiter string.

Output


It can be seen that the results are retrieved according to the provided condition.

Conclusion

In MySQL, there are several ways to find a specific character in stored data, including “LIKE”, “REGEXP”, “LOCATE()”, “INSTR()”, and “SUBSTRING_INDEX()”. Using these operators or functions, data can be filtered and retrieved based on a particular condition, such as retrieving rows that contain a certain character or substring. By utilizing these functions, MySQL users can efficiently manage and analyze their data based on a specific character. This guide has explained how to find a specific character in MySQL.

About the author

Danish Ghafoor

I am a computer science graduate with a certification in cybersecurity. My passion for technology has led me to develop a deep understanding of the challenges and solutions in the field of information security. I am dedicated to staying up-to-date with the latest industry trends and technologies, and constantly seeking out new opportunities to expand my knowledge and skills.