当我们将LOCATE()函数与MySQL WHERE子句一起使用时,我们需要将子字符串作为第一个参数,并将表的列名作为第二个参数,以及比较运算符。以下是使用“学生”表进行演示的示例-
示例
假设我们在“学生”表中具有以下值-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)
现在,以下查询显示了我们如何LOCATE()在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)