適用於:
Databricks SQL
Databricks Runtime 17.1 和更新版本
Important
這項功能目前處於 公開預覽版。
備註
這項功能不適用於 Databricks SQL Classic 倉儲。 若要深入瞭解 Databricks SQL 倉儲,請參閱 SQL 倉儲類型。
傳回輸入 GEOMETRY 值的從 1 開始的第 n 個元素作為 GEOMETRY 值。
Syntax
st_geometryn ( geoExpr, nExpr )
Arguments
-
geoExpr:一個GEOMETRY值。 -
nExpr:要擷取之元素的 1 起始索引。
Returns
類型的 GEOMETRY值,表示輸入幾何的第 n 個元素。
如果輸入是多點、多行字串、多polygon 或 geometry 集合,則函式會傳回 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)