최종 수정: 에
ST_NUMGEOMETRIES
설명
기하 객체에 포함된 하위 기하 객체의 수를 반환합니다. 컬렉션이 아닌 유형(Point, LineString, Polygon, Circle)의 경우 항상 1을 반환합니다. 컬렉션 유형(MultiPolygon)의 경우 컬렉션에 포함된 하위 기하 객체의 수를 반환합니다.
노트
4.1.2부터 지원됩니다.
구문
ST_NUMGEOMETRIES( <shape> )
매개변수
| 매개변수 | 설명 |
|---|---|
<shape> | 입력 기하 객체입니다. GEOMETRY 유형이거나 GEOMETRY로 변환할 수 있는 VARCHAR 유형(WKT 형식)이어야 합니다. |
반환 값
기하 객체에 포함된 하위 기하 객체의 수를 나타내는 BIGINT 값을 반환합니다.
ST_NUMGEOMETRIES는 다음과 같은 특수한 경우를 처리합니다.
- 입력 매개변수가
NULL이면NULL을 반환합니다. - 입력 매개변수를 유효한 기하 객체로 파싱할 수 없으면
NULL을 반환합니다. - 컬렉션이 아닌 유형(
POINT,LINESTRING,POLYGON,CIRCLE)의 경우 항상1을 반환합니다. MULTIPOLYGON의 경우 컬렉션에 포함된 다각형의 수를 반환합니다.
예제
Point에 포함된 기하 객체의 수
SELECT ST_NUMGEOMETRIES(ST_Point(1, 2));
+----------------------------------+
| ST_NUMGEOMETRIES(ST_Point(1, 2)) |
+----------------------------------+
| 1 |
+----------------------------------+
Polygon에 포함된 기하 객체의 수
SELECT ST_NUMGEOMETRIES(ST_GeometryFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'));
+------------------------------------------------------------------------------+
| ST_NUMGEOMETRIES(ST_GeometryFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) |
+------------------------------------------------------------------------------+
| 1 |
+------------------------------------------------------------------------------+
다각형 두 개로 구성된 MultiPolygon에 포함된 기하 객체의 수
SELECT ST_NUMGEOMETRIES(ST_GeometryFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))'));
+------------------------------------------------------------------------------------------------------------------+
| ST_NUMGEOMETRIES(ST_GeometryFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)),((2 2, 3 2, 3 3, 2 3, 2 2)))')) |
+------------------------------------------------------------------------------------------------------------------+
| 2 |
+------------------------------------------------------------------------------------------------------------------+
Circle에 포함된 기하 객체의 수
SELECT ST_NUMGEOMETRIES(ST_Circle(0, 0, 100));
+----------------------------------------+
| ST_NUMGEOMETRIES(ST_Circle(0, 0, 100)) |
+----------------------------------------+
| 1 |
+----------------------------------------+
NULL 매개변수
SELECT ST_NUMGEOMETRIES(NULL);
+------------------------+
| ST_NUMGEOMETRIES(NULL) |
+------------------------+
| NULL |
+------------------------+
유효하지 않은 매개변수(NULL 반환)
SELECT ST_NUMGEOMETRIES(ST_GeometryFromText('INVALID'));
+--------------------------------------------------+
| ST_NUMGEOMETRIES(ST_GeometryFromText('INVALID')) |
+--------------------------------------------------+
| NULL |
+--------------------------------------------------+