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

Wildcard characters ที่ใช้กับ NOT LIKE operator ใน MySQL มีอะไรบ้าง

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_%_%';