- 카테고리:
ST_POINTN¶
LineString의 지정된 인덱스에 있는 점을 반환합니다.
- 참고 항목:
구문¶
ST_POINTN( <geography_or_geometry_expression> , <index> )
인자¶
geography_or_geometry_expression
인자는 LineString을 나타내는 GEOGRAPHY 또는 GEOMETRY 형식의 식이어야 합니다.
index
반환할 Point의 인덱스입니다. 인덱스는 정수여야 합니다.
음의 인덱스는 LineString의 끝에서 오프셋으로 해석됩니다. 예를 들어
-1
은 LineString의 마지막 Point로 해석되고-2
는 마지막 Point에서 두 번째 Point로 해석되는 식입니다.
반환¶
이 함수는 LineString의 지정된 인덱스에 Point를 포함하는 GEOGRAPHY 또는 GEOMETRY 형식의 값을 반환합니다.
사용법 노트¶
geography_or_geometry_expression
이 LineString이 아닌 경우 이 함수는 오류를 보고합니다.index
가 범위를 벗어나는 경우(예: LineString의 Point 수를 초과하는 경우) 함수에서는 오류를 보고합니다.
예¶
GEOGRAPHY 예¶
다음 쿼리는 LineString의 두 번째 Point를 반환합니다.
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2);
+--------------------------------------------------------------+
| ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2) |
|--------------------------------------------------------------|
| POINT(2 2) |
+--------------------------------------------------------------+
다음 쿼리는 음의 인덱스를 사용하여 LineString의 끝에서 두 번째 Point를 반환합니다.
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2);
+---------------------------------------------------------------+
| ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2) |
|---------------------------------------------------------------|
| POINT(3 3) |
+---------------------------------------------------------------+
GEOMETRY 예¶
다음 쿼리는 LineString의 두 번째 Point를 반환합니다.
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2);
+-------------------------------------------------------------+
| ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2) |
|-------------------------------------------------------------|
| POINT(2 2) |
+-------------------------------------------------------------+
다음 쿼리는 음의 인덱스를 사용하여 LineString의 끝에서 두 번째 Point를 반환합니다.
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2);
+--------------------------------------------------------------+
| ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2) |
|--------------------------------------------------------------|
| POINT(3 3) |
+--------------------------------------------------------------+