A função ST_WITHIN determina se o objeto geográfico value1 está contido no objeto geográfico value2. O resultado é verdadeiro quando todos os pontos de value1 também são pontos de value2.
Sintaxe
BOOLEAN ST_WITHIN(GEOGRAPHY <value1>, GEOGRAPHY <value2>)
Parâmetros
value1, value2: Obrigatórios. Valores do tipo de dados GEOGRAPHY data type. Construa objetos GEOGRAPHY com funções como ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE e ST_MAKEPOLYGON.
Valor de retorno
Retorna um valor BOOLEAN conforme as regras a seguir:
TRUEse todos os pontos do objeto geográficovalue1estiverem dentro do objeto geográficovalue2; caso contrário, retornaFALSE.FALSEsevalue1ouvalue2for um objeto geográfico vazio.
Um objeto geográfico não inclui seus nós de limite .
Exemplos
Verifique se os pontos (5, 5), (20, 20) e (0, 0) estão dentro do polígono definido por POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)).
-- Returns TRUE. POINT(5 5) is inside the polygon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(5 5)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Returns FALSE. POINT(20 20) is outside the polygon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(20 20)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Returns FALSE. POINT(0 0) is on the polygon boundary.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));