

 从补丁 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\$1ContainsProperly
<a name="ST_ContainsProperly-function"></a>

如果两个输入几何体都为非空，并且第二个几何体的 2D 投影的所有点都是第一个几何体的 2D 投影的内部点，则 ST\$1ContainsProperly 返回 true。

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

```
ST_ContainsProperly(geom1, geom2)
```

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

 *geom1*   
一个 `GEOMETRY` 数据类型的值，或一个计算结果为 `GEOMETRY` 类型的表达式。子类型不能为 `GEOMETRYCOLLECTION`。

 *geom2*   
一个 `GEOMETRY` 数据类型的值，或一个计算结果为 `GEOMETRY` 类型的表达式。子类型不能为 `GEOMETRYCOLLECTION`。将此值与 *geom1* 进行比较，以确定其所有点是否都是 *geom1* 的内点。

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

`BOOLEAN`

如果 *geom1* 或 *geom2* 为 null，则返回 null。

如果 *geom1* 和 *geom2* 不具有相同的空间参考系统标识符 (SRID) 值，则返回一个错误。

如果 *geom1* 或 *geom2* 为几何体集合，则返回一个错误。

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

在输入线串与输入面的内部和边界（但不是其外部）相交的位置，以下 SQL 返回 ST\$1Contains 和 ST\$1ContainsProperly 的值。面包含线串，但没有正确包含线串。

```
WITH tmp(g1, g2) 
AS (SELECT ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('LINESTRING(5 5,10 5,10 6,5 5)')) SELECT ST_Contains(g1, g2), ST_ContainsProperly(g1, g2) 
FROM tmp;
```

```
 st_contains | st_containsproperly 
-------------+---------------------
 t           | f
```