สมมติว่าข้อ จำกัด ของขอบเขตที่กำหนดนั้นอยู่ในระบบการอ้างอิงเชิงพื้นที่เดียวกับพิกัดที่เก็บไว้และคุณรู้ว่าผู้ประกอบการอวกาศ (ปริภูมิหรืออยู่ภายใน) คุณต้องการ:
SELECT *
FROM my_table
WHERE coordinates
&& -- intersects, gets more rows -- CHOOSE ONLY THE
@ -- contained by, gets fewer rows -- ONE YOU NEED!
ST_MakeEnvelope (
xmin, ymin, -- bounding
xmax, ymax, -- box limits
my_srid)
อีกทางเลือกหนึ่งหากคุณต้องการเสียง "มี" (แทนที่จะเป็น "มีอยู่") WHERE
ประโยคควรพลิก:
WHERE ST_MakeEnvelope (...)
~ -- contains, gets same fewer rows
coordinates
PS: ป.ร. ให้ไว้ (โดย OP หลังจากที่ถูกโพสต์ดังกล่าวข้างต้น) ที่บันทึกเป็นจุดง่ายผมคิดว่าความแตกต่างระหว่าง "ปริภูมิ" และ "บรรจุ" กลายเป็นที่ลึกซึ้งมากส่งผลกระทบต่อเพียงจุดบนขอบของช่องขอบ