How LOCATE() function can be used with MySQL WHERE clause?


When we use LOCATE() function with MySQL WHERE clause, we need to provide the substring as first argument and column name of the table as the second argument along with a comparison operator. Following is an example using ‘Student’ table to demonstrate it −

Example

Suppose we have the following values in ‘Student’ table −

mysql> Select * from Student;

+------+---------+---------+-----------+
| Id   | Name    | Address | Subject   |
+------+---------+---------+-----------+
| 1    | Gaurav  | Delhi   | Computers |
| 2    | Aarav   | Mumbai  | History   |
| 15   | Harshit | Delhi   | Commerce  |
| 20   | Gaurav  | Jaipur  | Computers |
| 21   | Yashraj | NULL    | Math      |
+------+---------+---------+-----------+

5 rows in set (0.02 sec)

Now, following query show how we can use LOCATE() function with WHERE caluse

mysql> Select Name, LOCATE('av',name)As Result from student where LOCATE('av',Name) > 0;

+--------+--------+
| Name   | Result |
+--------+--------+
| Gaurav |      5 |
| Aarav  |      4 |
| Gaurav |      5 |
+--------+--------+

3 rows in set (0.00 sec)

mysql> select name, LOCATE('av',name)As Result from student where LOCATE('av',Name)=0 ;

+---------+--------+
| name    | Result |
+---------+--------+
| Harshit |      0 |
| Yashraj |      0 |
+---------+--------+

2 rows in set (0.00 sec)

Updated on: 04-Feb-2020

388 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements