Wildcard สำหรับ NOT LIKE operator
NOT LIKE operator ใช้ร่วมกับ WILDCARD characters เพื่อค้นหาข้อมูลที่ ไม่ตรง กับรูปแบบที่กำหนด Wildcard คืออักขระที่ช่วยค้นหาข้อมูลตามเกณฑ์ที่ซับซ้อน
1. % - Percentage (เปอร์เซ็นต์)
Wildcard '%' ใช้ระบุรูปแบบ 0, 1 หรือหลายตัวอักษร
รูปแบบการใช้งาน:
- NOT LIKE 'X%' - หาค่าที่ ไม่ได้ขึ้นต้นด้วย "X"
- NOT LIKE '%X' - หาค่าที่ ไม่ได้ลงท้ายด้วย "X"
- NOT LIKE '%X%' - หาค่าที่ ไม่มี "X" อยู่ในตำแหน่งไหนเลย
- NOT LIKE 'X%X' - หาค่าที่ ไม่ได้ขึ้นต้นและลงท้ายด้วย "X"
ตัวอย่าง:
-- ไม่ขึ้นต้นด้วย 'a' mysql> Select * from Student Where Name NOT LIKE 'a%'; -- ไม่ลงท้ายด้วย 'v' mysql> Select * from Student Where Name NOT LIKE '%v'; -- ไม่มี 'h' อยู่ในชื่อ mysql> Select * from Student Where Name NOT LIKE '%h%'; -- ไม่ขึ้นต้นด้วย 'a' และลงท้ายด้วย 'v' mysql> Select * from Student Where Name NOT LIKE 'a%v';
2. _ - Underscore (ใต้)
Wildcard '_' ใช้จับคู่ ตัวอักษรเพียง 1 ตัว เท่านั้น
รูปแบบการใช้งาน:
- NOT LIKE 'X_' - ไม่ขึ้นต้นด้วย "X" และมีตัวอักษรอีก 1 ตัวหลัง X
- NOT LIKE '_X' - ไม่ลงท้ายด้วย "X" และมีตัวอักษรอีก 1 ตัวหน้า X
- NOT LIKE '_X%' - ไม่มี "X" อยู่ตำแหน่งที่ 2
- NOT LIKE 'X_%_%' - ไม่ขึ้นต้นด้วย "X" และมีความยาวอย่างน้อย 3 ตัวอักษร
ตัวอย่าง:
-- ปีที่ไม่ใช่ 200x mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_'; -- ปีที่ไม่ใช่ x017 mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017'; -- ชื่อที่ตัวที่ 2 ไม่ใช่ 'a' mysql> Select * from Student Where Name NOT LIKE '_a%'; -- ชื่อที่ไม่ขึ้นต้นด้วย 'g' และยาวอย่างน้อย 3 ตัว mysql> Select * from Student Where Name NOT LIKE 'g_%_%';