ดังที่เราทราบดีว่ามีการใช้ตัวดำเนินการ 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)