กําหนดว่าค่าของนิพจน์อยู่ภายในช่วงของค่าที่ระบุหรือไม่ คุณสามารถใช้ตัวดําเนินการนี้ภายในคําสั่ง SQL ได้
ไวยากรณ์
expr [Not] Betweenvalue1Andvalue2
ไวยากรณ์ตัวดำเนินการ Between...And มีส่วนเหล่านี้:
ส่วน |
คำอธิบาย |
expr |
นิพจน์จะระบุเขตข้อมูลที่มีข้อมูลที่คุณต้องการประเมิน |
value1, value2 |
นิพจน์ต่อสิ่งที่คุณต้องการประเมิน expr |
ข้อสังเกต
ถ้าค่าของ expr อยู่ระหว่าง value1 และ value2 (แบบรวม) ตัวดำเนินการ Between...And จะส่งกลับเป็น True มิฉะนั้นจะส่งกลับเป็น False. คุณสามารถใส่ตัวดำเนินการทางตรรกะ Not เพื่อประเมินเงื่อนไขตรงข้ามได้ (หรือก็คือ expr จะอยู่นอกช่วงที่กำหนดโดย value1 และ value2 หรือไม่)
คุณอาจใช้ Between... และ เพื่อกําหนดว่าค่าของเขตข้อมูลอยู่ภายในช่วงตัวเลขที่ระบุหรือไม่ ตัวอย่างต่อไปนี้กําหนดว่าใบสั่งถูกจัดส่งไปยังที่ตั้งภายในช่วงของรหัสไปรษณีย์หรือไม่ ถ้ารหัสไปรษณีย์อยู่ระหว่าง 98101 และ 98199 ฟังก์ชัน IIf จะส่งกลับ "Local" มิฉะนั้น จะส่งกลับค่า "Nonlocal"
SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers
ถ้า expr, value1, หรือ value2 เป็น Null Between...And จะส่งกลับค่า Null
เนื่องจาก อักขระตัวแทน เช่น * จะถือว่าเป็นสัญพจน์ คุณจึงไม่สามารถใช้ตัวอักษรเหล่านั้นกับ Between... ตัวดําเนินการ And ตัวอย่างเช่น คุณไม่สามารถใช้ 980* และ 989* เพื่อค้นหารหัสไปรษณีย์ทั้งหมดที่ขึ้นต้นด้วย 980 ถึง 989 แต่คุณมีสองทางเลือกในการทําสิ่งนี้ให้สําเร็จ คุณสามารถเพิ่มนิพจน์ลงในคิวรีที่นําอักขระสามตัวด้านซ้ายของเขตข้อมูลข้อความไปใช้ Between... และ บนตัวละครเหล่านั้น หรือคุณสามารถใส่ค่าสูงและต่ําด้วยอักขระพิเศษ ซึ่งในกรณีนี้คือ 98000 ถึง 98999 หรือ 98000 ถึง 98999 – 9999 ถ้าใช้รหัสไปรษณีย์เพิ่มเติม (คุณต้องละเว้น – 0000 จากค่าต่ํา เนื่องจากมิฉะนั้น 98000 จะถูกละทิ้งถ้ารหัสไปรษณีย์บางรหัสมีส่วนที่ขยายและส่วนอื่นๆ ไม่มี)