Kategorien:

Geodatenfunktionen

ST_WITHIN

Gibt „true“ zurück, wenn das erste Geodatenobjekt vollständig im zweiten Geodatenobjekt enthalten ist. Mit anderen Worten:

  • Das erste GEOGRAPHY-Objekt g1 ist vollständig im zweiten GEOGRAPHY-Objekt g2 enthalten.

  • Das erste GEOMETRY-Objekt g1 ist vollständig im zweiten GEOMETRY-Objekt g2 enthalten.

Der Aufruf von ST_WITHIN(g1, g2) entspricht dem Aufruf von ST_CONTAINS(g2, g1).

Auch wenn ST_COVEREDBY und ST_WITHIN ähnlich zu sein scheinen, gibt es doch feine Unterschiede zwischen den beiden Funktionen. Weitere Informationen zu den Unterschieden zwischen „abgedeckt von“ und „innerhalb von“ finden Sie unter DE-9IM (Dimensionally Extended 9-Intersection Model).

Bemerkung

Diese Funktion unterstützt nicht die Verwendung einer GeometryCollection oder FeatureCollection als Eingabewert.

Tipp

Sie können den Suchoptimierungsdienst verwenden, um die Leistung von Abfragen zu verbessern, die diese Funktion aufrufen. Weitere Details dazu finden Sie unter Suchoptimierungsdienst.

Siehe auch:

ST_CONTAINS, ST_COVEREDBY

Syntax

ST_WITHIN( <geography_expression_1> , <geography_expression_2> )

ST_WITHIN( <geometry_expression_1> , <geometry_expression_2> )
Copy

Argumente

geography_expression_1

Ein GEOGRAPHY-Objekt, das nicht ein GeometryCollection oder FeatureCollection ist.

geography_expression_2

Ein GEOGRAPHY-Objekt, das nicht ein GeometryCollection oder FeatureCollection ist.

geometry_expression_1

Ein GEOMETRY-Objekt, das nicht ein GeometryCollection oder FeatureCollection ist.

geometry_expression_2

Ein GEOMETRY-Objekt, das nicht ein GeometryCollection oder FeatureCollection ist.

Rückgabewerte

Ein BOOLEAN-Wert.

Beispiele

GEOGRAPHY-Beispiele

Das folgende Beispiel zeigt eine einfache Verwendung der Funktion ST_WITHIN:

create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY);
insert into geospatial_table_01 (g1, g2) values 
    ('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');
Copy
SELECT ST_WITHIN(g1, g2) 
    FROM geospatial_table_01;
+-------------------+
| ST_WITHIN(G1, G2) |
|-------------------|
| False             |
+-------------------+
Copy