- 类别:
ST_POINTN¶
返回 LineString 中指定索引处的点。
- 另请参阅:
语法¶
ST_POINTN( <geography_or_geometry_expression> , <index> )
实参¶
geography_or_geometry_expression
实参必须是表示 LineString 类型、GEOGRAPHY 类型或 GEOMETRY 类型的表达式。
index
要返回的点的索引。索引必须是整数。
负索引被解释为距 LineString 末尾的偏移量。例如,
-1
被解释为 LineString 中的最后一个点,-2
被解释为倒数第二个点,等等。
返回¶
该函数返回类型 GEOGRAPHY 或 GEOMETRY 的值,该值包含 LineString 的指定索引处的点。
使用说明¶
如果
geography_or_geometry_expression
不是 LineString,则函数会报告错误。如果
index
越界(例如,超出了 LineString 中的点数),则函数报告错误。
示例¶
GEOGRAPHY 示例¶
以下查询返回 LineString 中的第二个点:
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 末尾的第二个点:
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 中的第二个点:
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 末尾的第二个点:
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) |
+--------------------------------------------------------------+