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