适用于: Databricks Runtime 17.1 及更高版本
重要
此功能目前以公共预览版提供。
返回输入几何图形的第 n 个元素,从1开始,作为 GEOMETRY
值。
语法
st_geometryn ( geo, n )
论据
-
geo
:一个GEOMETRY
值。 -
n
:要检索的元素的基于 1 的索引。
退货
类型的 GEOMETRY
值,表示输入几何图形的第 n 个元素。
如果输入是多点、多行字符串、多多边形或几何图形集合,则函数将返回第 n 个元素,或者如果元素不存在,则返回错误。
如果输入是非空点、线字符串或多边形,并且索引的值等于 1,则函数将返回输入作为 GEOMETRY
值,否则返回错误。
输出几何图形的 SRID 值与输入值相同。
请注意,不支持小于 1 的索引,并将导致错误。
如果输入为 NULL
.,则函数返回 NULL
。
错误条件
- 如果索引 n 处的元素不存在,该函数将返回 ST_INVALID_INDEX_VALUE。
- 如果索引小于 1,函数将返回 ST_INVALID_INDEX_VALUE。
- 如果输入是非空点、线字符串或多边形,并且索引不等于 1,则函数将返回 ST_INVALID_INDEX_VALUE。
例子
-- Returns the second element of a geometry collection.
> SELECT st_astext(st_geometryn(st_geomfromtext('GEOMETRYCOLLECTION(POINT(4 5),LINESTRING(10 3,24 37,44 85))'), 2));
LINESTRING(10 3,24 37,44 85)
-- Returns the first element of a multipoint.
> SELECT st_astext(st_geometryn(st_geomfromtext('MULTIPOINT((1 2),(3 4),(5 6))'), 1));
POINT(1 2)