Fungsi ST_WITHIN menentukan apakah objek geografi value1 berada di dalam objek geografi value2. Fungsi ini mengembalikan nilai benar jika setiap titik dari value1 juga merupakan titik dari value2.
Sintaksis
BOOLEAN ST_WITHIN(GEOGRAPHY <value1>, GEOGRAPHY <value2>)Parameter
value1, value2: Wajib diisi. Nilai dengan tipe data GEOGRAPHY. Anda dapat membuat objek GEOGRAPHY menggunakan fungsi seperti ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE, dan ST_MAKEPOLYGON.
Nilai kembalian
Mengembalikan nilai BOOLEAN sebagai berikut:
TRUEjika setiap titik objek geografivalue1berada di dalam objek geografivalue2; jika tidak,FALSE.Mengembalikan
FALSEjika salah satu darivalue1atauvalue2merupakan objek geografi kosong.
Objek geografi tidak mencakup node batasnya.
Contoh
Periksa apakah titik (5, 5), (20, 20), dan (0, 0) berada di dalam poligon yang didefinisikan oleh POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)).
-- Mengembalikan TRUE. POINT(5 5) berada di dalam poligon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(5 5)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Mengembalikan FALSE. POINT(20 20) berada di luar poligon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(20 20)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Mengembalikan FALSE. POINT(0 0) berada pada batas poligon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));