

 从补丁 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/)。

# BOOL\$1OR 函数
<a name="r_BOOL_OR"></a>

BOOL\$1OR 函数在单个布尔/整数列或表达式上运行。此函数将类似的逻辑应用于 BIT\$1AND 和 BIT\$1OR 函数。对于此函数，返回类型为布尔值（`true`、`false` 或 `NULL`）。

如果集合中的一个或多个值为 `true`，则 BOOL\$1OR 函数返回 `true`（`t`）。如果集合中的所有值为 `false`，则函数返回 `false`（`f`）。如果值未知，则可以返回 NULL。

## 语法
<a name="r_BOOL_OR-synopsis"></a>

```
BOOL_OR ( [DISTINCT | ALL] expression )
```

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

 *expression*   
对其执行函数的目标列或表达式。此表达式必须具有 BOOLEAN 或整数数据类型。该函数的返回类型为 BOOLEAN。

DISTINCT \$1 ALL  
利用参数 DISTINCT，该函数可在计算结果之前消除指定表达式的所有重复值。利用参数 ALL，该函数可保留所有重复值。ALL 是默认值。请参阅 [按位聚合的 DISTINCT 支持](c_bitwise_aggregate_functions.md#distinct-support-for-bit-wise-aggregations)。

## 示例
<a name="r_bool_or_example"></a>

您可以将布尔函数与布尔表达式或整数表达式结合使用。例如，以下查询从 TICKIT 数据库中的标准 USERS 表返回结果，该表包含多个布尔列。

BOOL\$1OR 函数对所有 5 个行返回 `true`。每个州中至少有一个用户喜欢运动。

```
select state, bool_or(likesports) from users 
group by state order by state limit 5;

state | bool_or 
------+--------
AB    | t      
AK    | t      
AL    | t       
AZ    | t       
BC    | t       
(5 rows)
```

以下示例返回 NULL。

```
SELECT BOOL_OR(NULL = '123')
               bool_or
------                  
NULL
```