

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# ST\$1GeometryN
<a name="ST_GeometryN-function"></a>

ST\$1GeometryN 返回由输入几何体的输入索引指向的几何体，如下所示：
+ 当输入是点、线串或多边形时，如果索引等于一 (1)，则按原样返回几何体；如果索引不是一 (1)，则返回 null。
+ 如果输入是多点、多线串、多边形或几何体集合，则返回由输入索引指向的点、线串、多边形或几何体集合。

索引是从 1 开始的。结果的空间参考系统标识符 (SRID) 与输入几何体的相同。返回的几何体的维度与输入几何体的维度相同。

## 语法
<a name="ST_GeometryN-function-syntax"></a>

```
ST_GeometryN(geom, index)
```

## 参数
<a name="ST_GeometryN-function-arguments"></a>

 *geom*   
一个 `GEOMETRY` 数据类型的值，或一个计算结果为 `GEOMETRY` 类型的表达式。

 *index*   
一个 `INTEGER` 数据类型的值，表示从 1 开始的索引的位置。

## 返回类型
<a name="ST_GeometryN-function-return"></a>

`GEOMETRY` 

如果 *geom* 或 *index* 为 null，则返回 null。

如果 *index* 超出范围，则返回一个错误。

## 示例
<a name="ST_GeometryN-function-examples"></a>

以下 SQL 返回几何体集合中的几何体。

```
WITH tmp1(idx) AS (SELECT 1 UNION SELECT 2),
tmp2(g) AS (SELECT ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,10 0,0 10,0 0)),LINESTRING(20 10,20 0,10 0))'))
SELECT idx, ST_AsEWKT(ST_GeometryN(g, idx)) FROM tmp1, tmp2 ORDER BY idx;
```

```
 idx |          st_asewkt           
-----+------------------------------
   1 | POLYGON((0 0,10 0,0 10,0 0))
   2 | LINESTRING(20 10,20 0,10 0)
```