

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# BOOL\_OR 函数
<a name="BOOL_OR"></a>

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

如果集合中的某个值为 `true`，则 BOOL\_OR 函数返回 `true`（`t`)。如果集合中的某个值为 `false`，则该函数返回 `false`（`f`)。如果值未知，则可以返回 NULL。

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

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

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

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

DISTINCT \| ALL  
利用参数 DISTINCT，该函数可在计算结果之前消除指定表达式的所有重复值。利用参数 ALL，该函数可保留所有重复值。ALL 是默认值。

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

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

BOOL\_OR 函数对所有 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
```