MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

LOCATE()関数をMySQL WHERE句でどのように使用できますか?


MySQL WHERE句でLOCATE()関数を使用する場合、比較演算子とともに、最初の引数として部分文字列を指定し、2番目の引数としてテーブルの列名を指定する必要があります。以下は、「Student」テーブルを使用してそれを示す例です-

「Student」テーブルに次の値があるとします-

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)

次のクエリは、WHERE caluseでLOCATE()関数を使用する方法を示しています

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)

  1. MySQL WHERE句を使用して複数の値をフェッチできますか?

    はい、フェッチできますが、条件にはMySQLORを使用します。まず、-を作成しましょう mysql> create table DemoTable1421    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeName varchar(20),    -> EmployeeSalary int    -> ); Query OK, 0 rows affec

  2. WHERE句でMySQLVIEWを使用するにはどうすればよいですか?

    WHERE句を使用したMySQLVIEWの場合、構文は次のとおりです- select * from yourViewName where yourColumnName='yourValue'; まず、-を作成しましょう mysql> create table DemoTable1432    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(20),   &n