適用於:
Databricks SQL
Databricks Runtime 17.1 和更新版本
Important
這項功能目前處於 公開預覽版。
備註
這項功能不適用於 Databricks SQL Classic 倉儲。 若要深入瞭解 Databricks SQL 倉儲,請參閱 SQL 倉儲類型。
傳回輸入線串 GEOGRAPHY 或 GEOMETRY 值的第 n 個點。
Syntax
st_pointn ( geoExpr, indexExpr )
Arguments
-
geoExpr:GEOGRAPHY或GEOMETRY值,代表一個行字串。 -
indexExprINTEGER:值,指出應該傳回之點的行字串中以 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)