适用于:
Databricks SQL
Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
注释
此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型。
从输入线字符串 GEOGRAPHY 或 GEOMETRY 值返回第 n 个点。
Syntax
st_pointn ( geoExpr, indexExpr )
Arguments
-
geoExpr:一个GEOGRAPHY或者GEOMETRY值,用以表示线字符串。 -
indexExpr:一个INTEGER值,指示应返回的点在行字符串中的位置(从 1 开始)。
Returns
GEOGRAPHY 或 GEOMETRY 类型的值,表示输入线串中第 indexExpr 个位置的点。
输出点的 SRID 值等于输入GEOGRAPHY值或GEOMETRY值的 SRID。
输出点的维度与输入 GEOGRAPHY 或 GEOMETRY 值的维度相同。
如果任何输入为NULL,该函数将返回NULL。
错误条件
- 如果值
geoExpr不是线字符串,函数将返回 ST_INVALID_ARGUMENT。INVALID_TYPE。 - 如果值为
geoExpr空行字符串,则函数将返回 ST_INVALID_ARGUMENT。EMPTY_LINESTRING。 - 如果
indexExpr的绝对值为 0 或大于线串中的点数,则函数将返回错误代码 ST_INVALID_ARGUMENT.INVALID_INDEX_VALUE。
Examples
-- Returns the third point of the linestring counting from the left.
> SELECT st_astext(st_pointn(st_geomfromtext('LINESTRING(1 2,3 4,5 6)'), 3));
POINT(5 6)
-- Returns the third point of the linestring counting from the right.
> SELECT st_astext(st_pointn(st_geogfromtext('LINESTRING(1 2,3 4,5 6)'), -3));
POINT(1 2)