适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 17.1 及更高版本
 Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
注释
此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型。
返回输入 GEOMETRY 的第 n 个元素,并将其作为 GEOMETRY 值返回。
Syntax
st_geometryn ( geoExpr, nExpr )
Arguments
- 
              geoExpr:一个GEOMETRY值。
- 
              nExpr:要检索的元素的基于 1 的索引。
Returns
类型的 GEOMETRY值,表示输入几何图形的第 n 个元素。
如果输入是多点、多行字符串、多多边形或几何图形集合,则函数将返回第 n 个元素,或者如果元素不存在,则返回错误。
如果输入是非空点、线字符串或多边形,并且索引的值等于 1,则函数将返回输入作为 GEOMETRY 值,否则返回错误。
输出几何图形的 SRID 值与输入值相同。
请注意,不支持小于 1 的索引,并将导致错误。
如果输入为 NULL.,则函数返回 NULL 。
错误条件
- 如果索引 n 处的元素不存在,该函数将返回 ST_INVALID_ARGUMENT。INVALID_INDEX_VALUE。
- 如果索引小于 1,函数将返回 ST_INVALID_ARGUMENT。INVALID_INDEX_VALUE。
- 如果输入是非空点、线字符串或多边形,并且索引不等于 1,则函数将返回 ST_INVALID_ARGUMENT。INVALID_INDEX_VALUE。
Examples
-- 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)