LIKE, IN and BETWEEN · LIKE, IN และ BETWEEN
Matching text patterns with LIKE
= only matches text exactly. To match a pattern, use LIKE with two wildcards:
%stands for any run of characters (including none)_stands for exactly one character
'S%' means "starts with S". '%a%' means "contains an a". '_o%' means "an o as the second letter".
การจับคู่รูปแบบข้อความด้วย LIKE
= จับคู่ข้อความได้ ตรงกันเป๊ะ เท่านั้น หากต้องการจับคู่ รูปแบบ ให้ใช้ LIKE พร้อมตัวแทนสองตัว:
%แทนการมีตัวอักษรใดๆ (รวมถึงไม่มีเลย)_แทนตัวอักษรพอดีหนึ่งตัว
SELECT name FROM student WHERE name LIKE 'S%';
'S%' หมายถึง "เริ่มต้นด้วย S". '%a%' หมายถึง "มีตัว a". '_o%' หมายถึง "o เป็นอักษรตัวที่สอง"
Lists and ranges: IN and BETWEEN
Two more handy tests:
IN (…)matches any value in a list:WHERE form IN ('11A', '11C')BETWEEN low AND highmatches a range, including both ends:
Both are shorter than writing several ORs.
รายการและช่วง: IN และ BETWEEN
อีกสองการทดสอบที่มีประโยชน์:
IN (…)จับคู่ค่าใดๆ ในรายการ:WHERE form IN ('11A', '11C')BETWEEN low AND highจับคู่ช่วง รวม ทั้งสองขอบเขต:
SELECT name, score FROM student WHERE score BETWEEN 70 AND 90;
ทั้งสองแบบสั้นกว่าการเขียน OR หลายครั้ง
Common mistakes
- In
LIKE,%matches any text:'A%'means "starts with A". BETWEEN a AND bincludes both ends.
ข้อผิดพลาดทั่วไป
- ใน
LIKE,%จับคู่ข้อความใดๆ:'A%'หมายความว่า "ขึ้นต้นด้วย A" BETWEEN a AND bรวมขอบเขตทั้งสอง
Pattern & range filters · ตัวกรองรูปแบบและช่วง
LIKE / IN / BETWEEN are all WHERE — they keep matching rows. · LIKE / IN / BETWEEN ล้วนเป็น WHERE — เพื่อเก็บเฉพาะแถวที่ตรงตามเงื่อนไข
Show the name of every student whose name contains the letter a. Use LIKE with %. · แสดง name ของนักเรียนทุกคนwhose ชื่อ มีตัวอักษร a ใช้ LIKE ร่วมกับ %
Click Run to see the output here. · คลิก Run เพื่อดูผลลัพธ์ที่นี่
Show the name and score of students whose score is between 70 and 90 (inclusive). Use BETWEEN. · แสดง name และ score ของนักเรียนwhose คะแนนอยู่ ระหว่าง 70 ถึง 90 (รวมขอบเขต) ใช้ BETWEEN
Click Run to see the output here. · คลิก Run เพื่อดูผลลัพธ์ที่นี่