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

อักขระตัวแทนที่แตกต่างกันใดบ้างที่สามารถใช้กับโอเปอเรเตอร์ NOT LIKE ได้


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

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

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

Select Statement…Where column_name NOT LIKE ‘X%’

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

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

1. ไม่เหมือน 'X%' :มันจะค้นหาค่าอื่นใดนอกจากที่ขึ้นต้นด้วย “X”

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE 'a%';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 20   | Gaurav  | Jaipur  | Computers |              2017  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

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

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE '%v';

+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_Admission  |
+------+---------+---------+----------+--------------------+
| 15   | Harshit | Delhi   | Commerce |              2009  |
| 21   | Yashraj | NULL    | Math     |              2000  |
+------+---------+---------+----------+--------------------+

2 rows in set (0.00 sec)

3. ไม่ชอบ '%X%': โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่มี “X” ในตำแหน่งใดๆ

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE '%h%';

+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_Admission  |
+------+--------+---------+-----------+--------------------+
| 1    | Gaurav | Delhi   | Computers |              2001  |
| 2    | Aarav  | Mumbai  | History   |              2010  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+

3 rows in set (0.00 sec)

4. ไม่เหมือน 'X%X' : โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ขึ้นต้นด้วย “X” และลงท้ายด้วย “X”

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE 'a%v';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 20   | Gaurav  | Jaipur  | Computers |              2017  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

_ ขีดล่าง

สัญลักษณ์ขีดล่างใช้เพื่อจับคู่อักขระหนึ่งตัว ไวยากรณ์พื้นฐานสำหรับการใช้ _ wildcard กับ NOT LIKE โอเปอเรเตอร์มีดังนี้:

เลือกคำชี้แจง…โดยที่ column_name ไม่เหมือน ‘X_’

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

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

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

ตัวอย่าง

mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_';

+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_admission  |
+------+--------+---------+-----------+--------------------+
| 2    | Aarav  | Mumbai  | History   |              2010  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+

2 rows in set (0.00 sec)

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

ตัวอย่าง

mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 2    | Aarav   | Mumbai  | History   |              2010  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

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

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE '_a%';
Empty set (0.00 sec)

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

ตัวอย่าง

mysql> Select * from Student Where Name NOT LIKE 'g_%_%';

+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_Admission  |
+------+---------+---------+----------+--------------------+
| 2    | Aarav   | Mumbai  | History  |              2010  |
| 15   | Harshit | Delhi   | Commerce |              2009  |
| 21   | Yashraj | NULL    | Math     |              2000  |
+------+---------+---------+----------+--------------------+

3 rows in set (0.00 sec)