20110606

ตัวดำเนินการ Between...And

กำหนดว่าจะให้ค่าของนิพจน์มีค่าอยู่ในช่วงค่าที่ระบุหรือไม่ คุณสามารถใช้ตัวดำเนินการนี้ได้ในคำสั่ง SQL (สตริง/คำสั่ง SQL: นิพจน์ที่กำหนดคำสั่ง SQL เช่น SELECT, UPDATEหรือ DELETEและรวมถึงส่วนคำสั่ง เช่น WHERE และ ORDER BY โดยทั่วไปจะใช้สตริง/คำสั่ง SQL ในแบบสอบถามและในฟังก์ชันการรวม)
ไวยากรณ์
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

 

Copyright © Access เบื้องต้น Design by Gu