Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

อักขระตัวแทนที่แตกต่างกันใดบ้างที่สามารถใช้กับตัวดำเนินการ MySQL LIKE ได้


ดังที่เราทราบดีว่ามีการใช้ตัวดำเนินการ LIKE พร้อมกับอักขระ WILDCARD เพื่อรับสตริงที่มีสตริงที่ระบุ โดยพื้นฐานแล้ว WILDCARD คืออักขระที่ช่วยค้นหาข้อมูลที่ตรงกับเกณฑ์ที่ซับซ้อน ต่อไปนี้เป็นประเภทของไวด์การ์ดที่สามารถใช้ร่วมกับโอเปอเรเตอร์ LIKE ได้

% -เปอร์เซ็นต์

ไวด์การ์ด '%' ใช้เพื่อระบุรูปแบบ 0, 1 อักขระขึ้นไป ไวยากรณ์พื้นฐานสำหรับการใช้ % wildcard มีดังนี้

Select Statement…Where column_name LIKE ‘X%’

ในที่นี้ X คือรูปแบบเริ่มต้นที่ระบุ เช่น อักขระตัวเดียวมากกว่า และ % จะจับคู่อักขระจำนวนเท่าใดก็ได้ที่เริ่มต้นจาก 0

สัญลักษณ์ตัวแทนเปอร์เซ็นต์ '%' สามารถมีได้หลายวิธีด้วยรูปแบบที่ระบุ ต่อไปนี้คือตัวอย่างบางส่วนที่แสดงตัวดำเนินการ LIKE ต่างๆ ที่มี % ในตัวอย่างเหล่านี้ X แสดงถึงรูปแบบที่ระบุ

1. ชอบ 'X%':- โดยจะค้นหาค่าใดๆ ที่ขึ้นต้นด้วย “X”

ตัวอย่าง

mysql> Select * from Student Where name LIKE 'a%';
+------+-------+---------+---------+
| Id   | Name  | Address | Subject |
+------+-------+---------+---------+
| 2    | Aarav | Mumbai  | History |
+------+-------+---------+---------+
1 row in set (0.00 sec)

2. ชอบ '%X':- โดยจะค้นหาค่าใดๆ ที่ลงท้ายด้วย “X”

ตัวอย่าง

mysql> Select * from Student Where name LIKE '%v';
+------+--------+---------+-----------+
| Id   | Name   | Address | Subject   |
+------+--------+---------+-----------+
| 1    | Gaurav | Delhi   | Computers |
| 2    | Aarav  | Mumbai  | History   |
| 20   | Gaurav | Jaipur  | Computers |
+------+--------+---------+-----------+
3 rows in set (0.00 sec)

3. ชอบ ‘%X%’:- จะพบว่าค่าใด ๆ ที่มี “X” อยู่ในตำแหน่งใด ๆ

ตัวอย่าง

mysql> Select * from Student Where name LIKE '%h%';
+------+---------+---------+----------+
| Id   | Name    | Address | Subject  |
+------+---------+---------+----------+
| 15   | Harshit | Delhi   | Commerce |
| 21   | Yashraj | NULL    | Math     |
+------+---------+---------+----------+
2 rows in set (0.00 sec)

4. ชอบ 'X%X':- โดยจะค้นหาค่าใดๆ ที่ขึ้นต้นด้วย “X” และลงท้ายด้วย “X”

ตัวอย่าง

mysql> Select * from Student Where name LIKE 'a%v';
+------+-------+---------+---------+
| Id   | Name  | Address | Subject |
+------+-------+---------+---------+
| 2    | Aarav | Mumbai  | History |
+------+-------+---------+---------+
1 row in set (0.00 sec)

_ ขีดล่าง

สัญลักษณ์ขีดล่างใช้เพื่อจับคู่อักขระหนึ่งตัว ไวยากรณ์พื้นฐานสำหรับการใช้ _ wildcard มีดังนี้ −Select Statement...โดยที่ column_name LIKE 'X_'

ในที่นี้ X คือรูปแบบเริ่มต้นที่ระบุใดๆ เช่น อักขระตัวเดียวของ more และ _ ตรงกับอักขระหนึ่งตัวเท่านั้น

สามารถใช้ wildcard ขีดล่าง '_' เพียงอย่างเดียวหรือใช้ร่วมกับ % ได้หลายวิธีตามรูปแบบที่ระบุ ต่อไปนี้คือตัวอย่างบางส่วนที่แสดงตัวดำเนินการ LIKE ที่แตกต่างกันด้วย % ในตัวอย่างเหล่านี้ X แสดงถึงรูปแบบที่ระบุ

1. LIKE 'X_':- โดยจะค้นหาค่าใดๆ ที่ขึ้นต้นด้วย “X” และมีเพียงหนึ่งอักขระหลัง X

ตัวอย่าง

mysql> Select * from student WHERE year_of_Admission LIKE '200_';
+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+
3 rows in set (0.00 sec)

2. ชอบ '_X':- โดยจะค้นหาค่าใดๆ ที่ลงท้ายด้วย “X” และมีเพียงหนึ่งอักขระก่อน X

ตัวอย่าง

mysql> Select * from student WHERE year_of_Admission LIKE '_017';
+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_Admission  |
+------+--------+---------+-----------+--------------------+
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+
1 row in set (0.00 sec)

3. LIKE _X%:- ร่วมกับ % wildcard มันจะค้นหาค่าใด ๆ ที่มี X ในตำแหน่งที่สอง

ตัวอย่าง

mysql> Select * from student WHERE Name LIKE '_a%';
+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 2    | Aarav   | Mumbai  | History   |              2010  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 20   | Gaurav  | Jaipur  | Computers |              2017  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+
5 rows in set (0.00 sec)

4. ชอบ X_%_%:- ร่วมกับ % wildcard โดยจะค้นหาค่าใดๆ ที่ขึ้นต้นด้วย X และมีความยาวอย่างน้อย 3 อักขระ

ตัวอย่าง

mysql> Select * from student WHERE Name LIKE 'g_%_%';
+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_Admission  |
+------+--------+---------+-----------+--------------------+
| 1    | Gaurav | Delhi   | Computers |              2001  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+
2 rows in set (0.00 sec)